C# 我可以在同一名称空间中有一个同名的类和接口吗?

C# 我可以在同一名称空间中有一个同名的类和接口吗?,c#,class,interface,C#,Class,Interface,我被分配到一个基于C#的项目中工作,我发现在同一命名空间中有一个同名的类和接口[class:Payment,interface:Payment]。因此,当我构建解决方案时,它会给我一个错误,这是不允许的 重命名其中一个将影响解决方案中的其他许多区域。实际上我不知道它是怎么工作的 有什么想法吗 谢谢,在同一名称空间下不可能有两个名称相同的类型(这就是名称空间有用的原因之一) 一个很好的约定是在接口名称前加上字母I,请参见: 如果必须保持相同的名称,则可以更改其中一种类型的名称空间,并相应地更改使用

我被分配到一个基于C#的项目中工作,我发现在同一命名空间中有一个同名的类和接口[class:Payment,interface:Payment]。因此,当我构建解决方案时,它会给我一个错误,这是不允许的

重命名其中一个将影响解决方案中的其他许多区域。实际上我不知道它是怎么工作的

有什么想法吗


谢谢,

在同一名称空间下不可能有两个名称相同的类型(这就是名称空间有用的原因之一)

一个很好的约定是在接口名称前加上字母
I
,请参见:


如果必须保持相同的名称,则可以更改其中一种类型的
名称空间
,并相应地更改
使用名称空间
声明

这是对你的问题的一个很好的解释。这是关于Java的,但我认为关于命名的最佳实践也可以类似


请注意,如果您需要名称空间来避免名称冲突,那么您的名称可能不好。当然,我认为没有理由使用相同的类型名称,尤其是对于类和接口。我也对命名感到困惑,但我会将接口名称更改为IPayment。并改变所有受影响的地区。谢谢