“繼承”的問題我在一個低級別的命名空間中有一個枚舉。我想在“繼承”低級枚舉的中間級別命名空間中提供一個類或枚舉。namespace low{
public enum base
{
x, y, z }}namespace mid{
public enum consume : low.base
{
}}我希望這是可能的,或者某種可以取代枚舉消費的類,它將為枚舉提供抽象層,但仍然允許該類的實例訪問枚舉。思想?編輯:我之所以沒有在課堂上切換到Const,原因之一是我必須使用的服務需要低級別的枚舉。我得到了WSDL和XSD,它們將結構定義為枚舉。服務不能更改。
3 回答

慕尼黑5688855
TA貢獻1848條經驗 獲得超2個贊
public class Base{ public const int A = 1; public const int B = 2; public const int C = 3;}public class Consume : Base{ public const int D = 4; public const int E = 5;}
int i = Consume.B;
更新
public enum SomeEnum // this is the existing enum (from WSDL){ A = 1, B = 2, ...}public class Base{ public const int A = (int)SomeEnum.A; //...}public class Consume : Base{ public const int D = 4; public const int E = 5;}// where you have to use the enum, use a cast:SomeEnum e = (SomeEnum)Consume.B;

千萬里不及你
TA貢獻1784條經驗 獲得超9個贊
private enum Base{ A, B, C}private enum Consume{ A = Base.A, B = Base.B, C = Base.C, D, E}
public static class Extensions{ public static T As<T>(this Consume c) where T : struct { return (T)System.Enum.Parse(typeof(T), c.ToString(), false); }}
- 3 回答
- 0 關注
- 404 瀏覽
添加回答
舉報
0/150
提交
取消