我在低级命名空间中有一个枚举.我想在一个"继承"低级枚举的中级命名空间中提供一个类或枚举.
namespace low
{
public enum base
{
x, y, z
}
}
namespace mid
{
public enum consume : low.base
{
}
}
Run Code Online (Sandbox Code Playgroud)
我希望这是可能的,或者某种类可以代替枚举消耗,它将为枚举提供一层抽象,但仍然让该类的实例访问枚举.
思考?
编辑:我之前没有将其转换为类中的consts的原因之一是我必须使用的服务需要低级枚举.我得到了WSDL和XSD,它们将结构定义为枚举.该服务无法更改.
在C#中,int并且Int32是同样的事情,但我读了许多那个时代int优于Int32没有给出理由.有原因,我应该关心吗?
如果int是同义词的Int32原因
enum MyEnum : Int32
{
Value = 1
}
Run Code Online (Sandbox Code Playgroud)
......不编译?在哪里
enum MyEnum : int
{
Value = 1
}
Run Code Online (Sandbox Code Playgroud)
即使将光标悬停在int字上,也会显示struct System.Int32?
可能重复:
C#int,Int32和enum
这可能是一个相当基本/简单的问题,我正在通过以下方式创建枚举.
案例1编译完美.但案例2引发了错误.我理解int和Int32在C#中的含义相同.
情况1
[Flags]
public enum MyEnum : int
{
Red = 0x1,
Green = 0x2,
Blue = 0x4
}
Run Code Online (Sandbox Code Playgroud)
案例2
[Flags]
public enum MyEnum : Int32
{
Red = 0x1,
Green = 0x2,
Blue = 0x4
}
Run Code Online (Sandbox Code Playgroud)
这里的区别是什么以及当enum的成员被指定为Int32类型时C#不编译代码的原因是什么?