vb.net - 为枚举值添加前缀有什么好处吗?

标签 vb.net enums

在此post Jon Skeet 指出应更改以下代码以符合 .NET 命名约定。这样做也会减少代码中的噪音量。

Enum enUtilityTypeDetailStudentEntryWorkflow As Integer
    enUTDSEW_Default = 379
    enUTDSEW_ApplicantRecordBook = 380
End Enum

我必须承认,我就像一只绵羊,正在追随别人在我之前所做的事情。我认为前缀看起来不正确,然后两次使用它也没有意义。 在查看了几个 .NET Framework 示例后,看起来这更接近标准。

Enum StudentEntryWorkflow As Integer
    Default = 379
    ApplicantRecordBook = 380
End Enum

我使用这些名字是否正确?
一般而言还有其他建议或意见吗?

最佳答案

在我工作的地方,我们也使用枚举前缀(在我们的例子中是 E),我必须说我喜欢它。它使得很容易发现枚举并将其与类或变量区分开来。以下是我们代码库中的示例:

myJob.Status = EJobStatus.Completed

在这里,我们可以很容易地看到分配给作业的状态是枚举“EJobStatus”中的值“Completed”。

抛开我个人的喜好不谈,如果您想遵循 .NET 命名约定,那么枚举就没有前缀。但最重要的是在给定的代码库中始终遵循相同的约定。

编辑:我刚刚看到您还为实际枚举值添加了前缀,但我们不这样做。我们总是以 ESomeEnum.SomeValue 的方式引用枚举。在这种情况下,为实际枚举值添加前缀是没有用的。另外,我认为对枚举名称和枚举值使用相同的前缀不是一个好主意,因为它们不是同一件事。

关于vb.net - 为枚举值添加前缀有什么好处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5421522/

相关文章:

vb.net - 使用 vb.net 中的文件路径以编程方式终止应用程序

mysql - 如何在 MySQL 中保存准确的日期时间

.net - 如何向用户发送电子邮件确认链接

java.lang.IllegalStateException :Failed to transform class with name UnitySaveFCPort$PortMetric. 原因:[源错误]构造函数不能是静态的

java - JAXB:将 XML 枚举验证为字符串,同时在 XSD 中保留类型

java - 为什么这个方法不是递归的?

Java 可扩展枚举

vb.net - 十六进制比较 (If ((&H7F And &H80) = &H80)) 意味着什么?

.net - 我收到错误 "Application"在命名空间 'microsoft.office.interop.excel' 中不明确

java - 从其参数获取 ENUM 类型