This stackoverflow question有一个有趣的讨论关于如何避免给枚举和属性赋予相同的名称,这样你就没有这样的代码:
public SaveStatus SaveStatus { get; set; }
似乎已接受的答案建议对枚举使用“状态”,对属性使用“状态”:
public SaveStatus SaveState { get; set; }
但我认为这很难阅读并且不能立即清楚什么是什么。
由于这个枚举命名问题是一个老生常谈的问题,我正在考虑简单地总是用“Enum”作为我的枚举的后缀,所以我会这样:
public SaveStatusEnum SaveStatus { get; set; }
SaveStatus = SaveStatusEnum.Succeeded;
有人这样做吗?满意吗?用另一种方式解决了这个问题?
最佳答案
来自MSDN page for Property naming guidelines :
Consider creating a property with the same name as its underlying type. For example, if you declare a property named Color, the type of the property should likewise be Color.
我认为这是“不”:)
编辑:
如果您不喜欢在声明该属性的类中使用完全限定名称,您可以解决它:
using SaveStatusEnum = MyNamespace.SaveStatus;
...
SaveStatus = SaveStatusEnum.SomeValue;
这样你就可以保留没有后缀的枚举名称,并将命名怪异限制在那个类上。 :)
关于c# - 是否建议为所有 C# 枚举添加后缀 "Enum"以避免命名冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/920603/