Csharp/C#教程:为什么枚举声明接受短而不是Int16分享


为什么枚举声明接受短而不是Int16

我想声明一个非默认底层类型的新枚举。 这有效:

public enum MyEnum : short { A, B, C, } 

但我不明白为什么这不编译:

 public enum MyEnum : System.Int16 { A, B, C, } 

编译说

输入byte,sbyte,short,ushort,int,uint,long或ulong expected

我知道short是所有.NET版本(包括32/64位版本)的Int16的别名。 我不明白为什么编译器在该特定情况下给别名赋予不同的含义。

任何解释?

语法是正确的。 C#规范明确声明枚举的底层类型必须是bytesbyteshortushortintuintlongulong

在这里阅读微软对此的评论。

“……第二个例子是试图从一个派生自System.ValueType的类型inheritance,严格禁止……”

在这里阅读:

上述就是C#学习教程:为什么枚举声明接受短而不是Int16分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1038698.html

(0)
上一篇 2022年1月26日
下一篇 2022年1月26日

精彩推荐