Joa*_*nge 5 .net c# class nested-class
哪个更容易接受(最佳实践)?:
namespace NP
public static class IO
public static class Xml
...
// extension methods
using NP;
IO.GetAvailableResources ();
Run Code Online (Sandbox Code Playgroud)
对比
public static class NP
public static class IO
public static class Xml
...
// extension methods
NP.IO.GetAvailableResources ();
Run Code Online (Sandbox Code Playgroud)
同样对于#2,代码大小是通过部分类来管理的,因此每个嵌套类都可以在一个单独的文件中,扩展方法也是如此(除了它们没有嵌套类)
我更喜欢#2,有几个原因,例如能够使用已经常用的类型名称,例如IO,我不想替换或冲突。
你更倾向哪个?各有优缺点吗?这种情况的最佳做法是什么?
编辑:两者之间还会有性能差异吗?
我想说#1。因为当您将许多类捆绑到一个静态类中时,您会执行与命名空间相同的操作。这就是为什么我说最好让命名空间为你做这件事。
在这种情况下,您还可以通过在需要时添加 using 来摆脱在所有内容前面编写“NP”的麻烦。我认为你应该嵌套命名空间,这样它们就不会发生冲突,或者使用比 IO 更具描述性的命名空间名称。
大多数情况下,最佳实践是 Microsoft 所做的,但我从未见过他们这样做#2