C#:同一个.cs文件中的非嵌套结构作为相关类?

Joe*_*ool 2 c#

如果我正在处理一个类和一个公共结构(不是嵌套的),我应该为结构创建一个单独的.cs吗?或者将它嵌套在类的.cs文件中?(这假设结构与类有关,但对于类应该嵌套并声明为私有并不是如此独占)

编辑:我删除了关于两个类的初始问题,因为我在单独的文件中找到了C#类?

ang*_*son 6

请注意,能够准确回答此问题的唯一人员是您和您的团队.如果你的团队很乐意在单个文件中找到几个相关的类型,那么由于......无论如何......那么我或者其他任何人所说的应该只是...无关紧要.

无论如何,我会把问题颠倒过来:

  • 是否有任何理由在同一文件中放置两个单独的类型(通过名称,功能或其他类型相关,但仍然分开)

我还没有提出一个很好的理由.

Visual Studio中有扩展/插件,您可以在其中键入名称,并快速导航到该文件,我可以想到三个,但毫无疑问是其他的:

第一个允许您按名称快速导航到文件.如果您知道类型,但让人们将多种类型放入同一类型中,那么根本就没有用.

第二个和第三个,允许您按名称导航到类型,但您不应该依赖拥有这些类型的人,或者知道如何使用它们.

为此,我主张遵循这些规则:

  1. 项目名称应与该项目的根名称空间相同.我在这一点上与此不同,在某些情况下,我将项目命名为"... Core",然后我从命名空间中删除"Core",但除此之外,保留项目名称与命名空间相同
  2. 使用项目中的文件夹来构建命名空间层次结构
  3. 类型名称应与文件名称对应100%+任何适合您语言的扩展名.因此,"YourType"应为"YourType.cs","YourType.vb"或"YourType.whatever",具体取决于语言


Jas*_*orn 5

这取决于你问的是谁.

就个人而言,如果他们全部,总是被打破,我会发现它更容易阅读.但是,编译器并不关心...因此,无论您和您的团队同意哪个更容易理解.