我们的项目经常使用具有非静态嵌套类的静态外部类——这可能有任何陷阱吗



我们目前正在进行一个用C#编写的Web-API项目。它包含许多具有非静态嵌套类的静态外部类。类似的东西

public static class OuterClass
{    
public class InnerClass : ParentClass
{

}
}

这个模式在整个项目中经常使用,因此我提出了问题。使用具有非静态嵌套类的静态外部类是否存在陷阱?更不用说在整个应用程序中大量使用它们了吗?

  • 如果只有内部类,但没有字段和方法,那么名称空间可能是首选,而不是那些外部公共静态类。
    • 您可以在静态类(或一般类(中定义字段和方法,但不能在命名空间中定义
    • using关键字是导入命名空间中定义的所有可访问类型/类的一种方便方法,因此不需要完全限定它们
    • 否则,如果您打算添加成员/方法,那么将它们保留为类是有意义的
  • 特别是如果项目将用作库,则仍应使用名称空间以避免全局名称空间中的冲突

相关内容

最新更新