我可以将我的 enum
声明为另一个类中的静态成员吗?
我只想要这个枚举中的一个实例
public enum MyEnum
{
Add,
Remove
}
public class MyClass
{
private static MyEnum _myEnum;
public MyEnum Enum
{
get { return _myEnum; }
set { _myEnum = value; }
}
}
这样做可以吗?
最佳答案
我强烈建议也使属性 static
因为从非静态属性获取/设置静态字段毫无意义。
这不仅令人困惑。我会称之为乞求错误。
考虑一下:
var c1 = new MyClass { Enum = MyEnum.Add };
var c2 = new MyClass { Enum = MyEnum.Add };
c2.Enum = MyEnum.Remove;
Console.Write(c1.Enum.ToString());
您期望输出什么?这两个实例现在都有 MyEnum.Remove
,即使我只设置了一个。
如果你把它设为 static 上面甚至不会编译这是一件好事。
您需要通过类名使用该属性,这清楚地表明它是一个静态属性:
MyClass.Enum = MyEnum.Remove;
关于c# - 静态枚举类成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22537719/