c# - 具有静态成员的枚举与常量/类?

标签 c# enums

我有一组特定于应用程序的代码(代码与其名称的一对一映射),并且我一直在 C# 中使用枚举来表示它们。我现在不确定是否有必要这样做。这些值永远不会改变,并且它们将始终与这些标签相关联:

Workflow_Status_Complete = 1
Workflow_Status_Stalled = 2
Workflow_Status_Progress = 3
Workflow_Status_Complete = 4
Workflow_Status_Fail = 5

我应该使用枚举还是带有静态成员的类?

最佳答案

对我来说,int 类型的静态成员似乎不如枚举。你失去了枚举的类型安全。在调试时,您看不到符号名称,而只是一个数字。

另一方面,如果一个条目不仅仅包含一个名称/整数值对,那么一个类可能是个好主意。但是这些字段应该属于那个类而不是 int。像这样的东西:

class MyFakeEnum
{
   public static readonly MyFakeEnum Value1=new MyFakeEnum(...);
}

关于c# - 具有静态成员的枚举与常量/类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5998446/

相关文章:

c# - 为什么 c# List 实现在 ensure capacity 方法中指定这个确切的值?

enums - Rust proc_macro_derive(带有syn crate)生成用于匹配的枚举变量

c# - 如何使用 C# 检查 PDF Reader 是否启用?

c# - 如何在 const 字符串中包含枚举值?

java获取枚举中最长的字符串

c# - 枚举的意外行为

asp.net - 如何在 Javascript 中创建常量文件?

c# - 检查变量时,{} 意味着什么?

c# - QueueUserWorkItem() 和 BeginInvoke() 之间的区别是什么,用于执行不需要返回类型的异步事件

c# - Mono 2.6.4 使用哪个版本的 C#?