This question already has answers here:
How to avoid having the same name for a class and it's namespace, such as Technology.Technology?
                                
                                    (5个答案)
                                
                        
                                6年前关闭。
            
                    
.NET令我非常烦恼的一件事是,名称空间应该用Pascal大小写,这可能会导致名称空间/类名冲突。

考虑以下:

namespace MyCompany.MyProduct.SalesOrder {
    public class SalesOrder {
    }
}


这是完全有效的代码,但是SalesOrder作为类的使用者现在必须使用MyCompany.MyProduct.SalesOrder.SalesOrder的完全限定名称,否则编译会导致令人讨厌的'MyCompany.MyProduct.SalesOrder' is a 'namespace' but is used like a 'type'错误。

其他人正在做些什么来解决这个问题?我看到有些地方只是违反规则而使用小写的软件包,这确实吸引了我,但我确实希望符合标准并使用适当的大小写。到目前为止,在我的用法中,我尽可能地支持基于复数的名称空间名称的概念,但是有时这看起来很难看。

我个人的看法是.NET弄错了,应该像Java的包一样使用小写的名称空间。

最佳答案

它完全同意您的意见,这种行为绝对令人讨厌。我通常只是倾向于给名称空间一个更通用的名称。在您的情况下,我会选择MyCompany.MyProduct.SalesOrderManagementMyCompany.MyProduct.SalesOrders之类的东西。

关于c# - 什么是解决 namespace 与类名冲突问题的优雅解决方案? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5536542/

10-10 04:09