gpt4 book ai didi

c# - 顶级通用类库的 Class.Class vs Namespace.Class?

转载 作者:太空狗 更新时间:2023-10-30 00:36:16 26 4
gpt4 key购买 nike

哪个更容易接受(最佳实践)?:

namespace NP
public static class IO
public static class Xml
...
// extension methods

using NP;

IO.GetAvailableResources ();

对比

public static class NP
public static class IO
public static class Xml
...
// extension methods

NP.IO.GetAvailableResources ();

同样对于#2,代码大小是通过部分类来管理的,因此每个嵌套类都可以在一个单独的文件中,扩展方法也是如此(除了它们没有嵌套类)

我更喜欢 #2,有几个原因,比如能够使用已经常用的类型名称,比如 IO,而我不想这样做替换或碰撞。

你更喜欢哪一个?各有什么优缺点?这种情况下的最佳做法是什么?

编辑:两者之间还会有性能差异吗?

最佳答案

我会说#1。因为当您将许多类捆绑到一个静态类中时,您所做的事情与命名空间的用途相同。这就是为什么我会说最好让命名空间为你做这件事。

在这种情况下,您还可以通过在需要时添加 using 来摆脱必须在所有内容前面写“NP”的麻烦。我认为你应该嵌套你的命名空间,这样它们就不会发生冲突,或者使用比 IO 更能描述命名空间的名称。

大多数情况下,最佳实践是 Microsoft 所做的,但我从未见过他们这样做 #2

关于c# - 顶级通用类库的 Class.Class vs Namespace.Class?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2449798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com