namespace Foo
{
public enum MyEnum
{
High, Low
}
public class Class1
{
public MyEnum MyProperty { get; set; }
}
}
MyEnum
在Class1
之外宣布
因为我需要它和其他类
似乎很好,但如果我稍后决定删除包含Class1
的文件
MyEnum
声明将丢失!!
在类之间编写共享枚举的最佳做法是什么?
答案 0 :(得分:24)
最佳做法是为每个类,枚举或其他类型创建单独的文件。
MyEnum.cs
namespace Foo
{
public enum MyEnum
{
High,
Low
}
}
的Class1.cs
namespace Foo
{
public class Class1
{
public MyEnum MyProperty { get; set; }
}
}
答案 1 :(得分:5)
在类之间编写共享枚举的最佳做法是什么?
将每个枚举放在一个自己的文件中,名称与枚举相同。
// Foo\MyEnum.cs
namespace Foo
{
public enum MyEnum
{
High, Low
}
}
答案 2 :(得分:0)
根据我的经验,如果将字段存储在数据库中作为整数,也可以向字段添加显式值,因为更改顺序或在中间添加/删除值可能会在运行时失败:
namespace Foo
{
public enum MyEnum
{
High = 1,
Low = 2
}
}
另请注意,我从1开始意识到未初始化的变量不被视为正确的枚举值。另一个想法是添加None = 0值。