根据MSDN 此处和此处(以及此qstn的接受答案),枚举的默认可访问性是public.但是,这段代码:
public class Test
{
enum Color { RED, BLUE, GREEN };
public void SetColor(Color c) { }
}
Run Code Online (Sandbox Code Playgroud)
会引发这个编译错误:
Error 1 Inconsistent accessibility: parameter type 'Test.Color' is less accessible than method 'Test.SetColor(Test.Color)'
(这与将枚举设置为时出现的错误相同private.)此错误只能通过显式修改枚举来解决public.文档不正确吗?
[我正在使用C#2010和.NET 4.0进行编译.]
SLa*_*aks 11
事实并非如此.
枚举类型的默认可访问性与任何其他类型相同; 顶级类型的内部和嵌套类型的私有.
您链接到的网页声明,默认值(和,其实只),枚举访问级别会员(Red,Blue,等)是公开的.
上面提到的MSDN文章和SO答案都是指"枚举成员" - ieeg Test.Color.RED,而不是Test.Color枚举本身.
Test.Color 是一个阶级的成员 - 因此是私人的.
| 归档时间: |
|
| 查看次数: |
4480 次 |
| 最近记录: |