这种情况对你们中的一些人来说可能并不少见:您有一些功能可以放在一个类中,但是该类的完美名称 (*) 被 System
中的一个类采用> 不属于您但您正在使用
/导入
的 namespace 或其他 namespace /类。
(*) 我所说的完美是指小巧、简洁和清晰的名称。
例如,我有一个 Utils
类,它有一个 Diagnostics
(主要是 debug utils)类和一个 Drawing
类。我可以:
- 有一个
DrawingUtils
类和一个DiagnosticsUtils
类,但这闻起来像是结构不好。 - 选择一个同义词库,然后用一个更糟糕、更长或笨拙的名字来完成,这些名字仍然不经意地被使用。
- 用我的母语而不是英语写类(class)名称。
- 请教 StackOverflow 的聪明人。
我认为选项 1-3 没有希望 :(
编辑:
由于我选择的答案没有明确解决问题(我也没有),我建议面临相同情况的人问问自己:你会经常使用冲突的 BCL类/命名空间?如果不是,那么让你的名字冲突(就像我对 Diagnostics 所做的那样)。如果是,请添加一个限制您的类/命名空间的可能性的词。
在实践中,这意味着:
“绘图”
:绘图的东西。
“MyCustomControlDrawing”
:仅在MyCustomControl
上绘制的内容。例如:“WidgetDrawing”
。
编辑2:
下次再看看的另一个解决方案:Extension Methods (由 Lawnmower 提供)。
最佳答案
我认为保留名称 Drawing
、Diagnostics
等没有任何问题。这是命名空间的目的之一,用于解决命名冲突。
关于c# - 我是否应该使用与 .NET BCL 的名称冲突的(否则是最佳的)类名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3424458/