c# - 是否建议为所有 C# 枚举添加后缀 "Enum"以避免命名冲突?

标签 c# enums naming-conventions

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/

相关文章:

c# - 发布到 Azure - 找不到 MDF 文件

c# - 将对象添加到对象列表

objective-c - Objective-C 中 ID 变量的替代名称是什么?

C# 函数和条件运算符

java - 参数化枚举传入另一个枚举

c# - 是否可以映射到带有别名的枚举?

java - 如何将我的枚举类返回设置为 ArrayList Java

SQL 命名约定

java - BO 和服务之间的区别?

c# - Controller 返回与 View 不匹配的值?