Csharp/C#教程:从静态方法访问非静态枚举值分享


从静态方法访问非静态枚举值

public enum sEnum { zero = 0, one = 1 } public int x; public static void a(sEnum s) { x = 3; if (s == sEnum.one) ... } 

为什么可以在这里检查枚举的值,因为不使用static关键字? 在语言规范中记录了哪些内容?

枚举只是命名值,因此您可以像在任何其他常量中一样在静态上下文中使用它们。

语言规范的第3.4.3节规定:

枚举的成员是枚举中声明的常量

我认为规格中的14.3是您正在寻找的:

枚举成员的命名和范围与类中的字段完全类似。 枚举成员的范围是其包含枚举类型的主体。 在该范围内,枚举成员可以通过其简单名称来引用。 在所有其他代码中,枚举成员的名称必须使用其枚举类型的名称进行限定。 枚举成员没有任何已声明的可访问性 – 如果枚举成员的包含枚举类型可访问,则可以访问该成员。

上述就是C#学习教程:从静态方法访问非静态枚举值分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

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

ctvol管理联系方式QQ:251552304

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

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

精彩推荐