“继承”的问题我在一个低级别的命名空间中有一个枚举。我想在“继承”低级枚举的中间级别命名空间中提供一个类或枚举。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 关注
- 370 浏览
添加回答
举报
0/150
提交
取消