类内或接口内定义的枚举继承后全部没办法再添加成员,除去特性和反射,还有什么好的方法么?
1条回答 默认 最新
- XingyuZhao-MSFT 2021-10-22 10:07关注
如果是这种情况,为什么不使用类呢?
像这样:public class Base { public const int A = 1; public const int B = 2; public const int C = 3; } public class Child : Base { public const int D = 4; public const int E = 5; }
或者
public class MyBaseEnum { public static readonly MyBaseEnum A = new MyBaseEnum( 1 ); public static readonly MyBaseEnum B = new MyBaseEnum( 2 ); public static readonly MyBaseEnum C = new MyBaseEnum( 3 ); public int InternalValue { get; protected set; } protected MyBaseEnum( int internalValue ) { this.InternalValue = internalValue; } } public class MyEnum : MyBaseEnum { public static readonly MyEnum D = new MyEnum( 4 ); public static readonly MyEnum E = new MyEnum( 5 ); protected MyEnum( int internalValue ) : base( internalValue ) { // Nothing } }
另外,你不应该在类或接口中定义枚举。
解决 无用评论 打赏 举报