枚举可以从可为空的原始类型继承吗?
Can Enums Inherit From Nullable Primitive Types?
我正在查看一个 XML 规范,其中指出需要将枚举编码为可为 null uInt8
。
<enum name="FTI" encodingType="uInt8NULL">
<validValue description="Backup" name="Backup">0</validValue>
<validValue description="Primary" name="Primary">1</validValue>
因此,我创建了一个枚举,却发现它不能从可为空的原始类型继承。
有什么办法可以解决这个问题,还是设计使然?
public enum KeepAlivedLapsed : Byte?
{
NotLapsed = 0,
Lapsed = 1,
}
错误: CS1008 类型 byte、sbyte、short、ushort、int、uint、long 或 ulong 预期
继承自Nullable<Byte>
时出现同样的错误。
您需要做的是创建一个普通枚举,然后将其用作可空类型:
public enum KeepAlivedLapsed : Byte
{
NotLapsed = 0,
Lapsed = 1,
}
KeepAlivedLapsed? value = null;
我正在查看一个 XML 规范,其中指出需要将枚举编码为可为 null uInt8
。
<enum name="FTI" encodingType="uInt8NULL">
<validValue description="Backup" name="Backup">0</validValue>
<validValue description="Primary" name="Primary">1</validValue>
因此,我创建了一个枚举,却发现它不能从可为空的原始类型继承。
有什么办法可以解决这个问题,还是设计使然?
public enum KeepAlivedLapsed : Byte?
{
NotLapsed = 0,
Lapsed = 1,
}
错误: CS1008 类型 byte、sbyte、short、ushort、int、uint、long 或 ulong 预期
继承自Nullable<Byte>
时出现同样的错误。
您需要做的是创建一个普通枚举,然后将其用作可空类型:
public enum KeepAlivedLapsed : Byte
{
NotLapsed = 0,
Lapsed = 1,
}
KeepAlivedLapsed? value = null;