在确定应该定义枚举和结构的位置时,有什么好的做法?

jpo*_*poh 3 c#

假设嵌套在特定类中enum或者struct不嵌套在特定类中,即它属于项目命名空间,是否应该在以下位置定义:

  • 它自己的文件
  • 调用通用文件Enums.cs或定义属于项目命名空间的Structs.cs所有enums/的文件structs
  • 别的地方...

Jar*_*Par 6

就个人而言,我更喜欢一种类型,一种文件哲学.我甚至将嵌套类型放在单独的文件中,其中部分类用于允许分离.

我主要是这样做的,因为我看到了相反的太多.包含数十个类的单个文件.经历改变了我.


Jon*_*eet 6

对我来说,一个类型=一个文件,除非它是一个委托.这些天我不需要经常声明我自己的代表因为FuncAction,但是当我这样做时,我发现有一个Delegates.cs文件是有用的.

至于结构 - 我只能记得写下其中两个,除了为了测试可变结构可以做的邪恶事物.但我也坚持每个文件一个.你为什么不呢?仅仅因为它们的价值类型并不意味着它们自然比类更简单或更简单.(你能想象是否decimalDateTime它们都在同一个源文件中?Eek!)

编辑:我刚刚想到了另一种情况,其中有多个结构可能是合适的:互操作.在这种情况下,我可能有Interop.cs或Win32.cs ...或者可能是它的命名空间,并返回每种类型的一个文件.


Mic*_*tta 5

这篇关于枚举最佳实践的MSDN文章没有建议存储枚举定义的位置.

你会得到不同的建议.就个人而言,我倾向于将枚举存储在与他们相关的类相同的文件中.我希望尽可能保持我的文件结构与我的命名空间结构相同,因此如果我的枚举自然落入特定的命名空间,我会将定义存储在相应的文件中.

我的建议是,找到一个适合你的方案,坚持下去.