来自Software Engineering Stack Exchange的
This question was migrated,因为可以在Stack Overflow上进行回答。
Migrated 4年前。
当我将类文件放在文件夹中时,Resharper建议我更新名称空间。因此,如果我有文件
问题是我也有一个名为
解决这个问题的最佳方法是什么?
目前,我正在像这样组织:
因此请注意,为了避免冲突,我将“ main”类重命名为
在这种情况下,R#将建议“ MyApplication.Classes”作为Game和Version类的命名空间。
Migrated 4年前。
当我将类文件放在文件夹中时,Resharper建议我更新名称空间。因此,如果我有文件
Classes/Game.cs
(类),它将建议命名空间MyApplication.Classes
。问题是我也有一个名为
Game
的子文件夹,该子文件夹具有Game
类的组件。并且它与名称空间发生冲突。例如:/Classes/Game.cs MyApplication.Classes.{Game}
/Classes/Game/Version.cs MyApplication.Classes.Game.{Version}
解决这个问题的最佳方法是什么?
目前,我正在像这样组织:
/Classes/Game/Game.cs MyApplication.Classes.Game.{Class}
/Classes/Game/Player.cs MyApplication.Classes.Game.{Player}
/Classes/Game/Version/Version.cs MyApplication.Classes.Game.Version.{Class}
/Classes/Game/Version/History.cs MyApplication.Classes.Game.Version.{History}
因此请注意,为了避免冲突,我将“ main”类重命名为
Class
,但在文件名中保留了更准确的名称。但这很丑,不是吗? 最佳答案
首先,一个名为“ Classes”的文件夹似乎并不特别有用-毕竟,所有内容都是一个类,并且这似乎没有提供任何有用的信息。
如果您希望保留此命名方案,则有两个选择。第一种是禁用Resharper的建议-或至少告诉R#将其视为提示而不是警告。
第二个是给您的文件夹一个名称,该名称不是有效的名称空间声明。这将使R#停止建议它为有效的名称空间。我最常使用的格式是在名称周围使用方括号。因此,您具有如下所示的文件夹层次结构:
/Classes/Game.cs
/Classes/[Game]/Version.cs
在这种情况下,R#将建议“ MyApplication.Classes”作为Game和Version类的命名空间。
关于c# - 在目录中组织 namespace 和类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28686989/