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