【发布时间】:2012-03-03 10:18:35
【问题描述】:
根据 MSDN here 和 here(以及 accepted answer to this qstn),枚举的默认可访问性是 public。
但是,这段代码:
public class Test
{
enum Color { RED, BLUE, GREEN };
public void SetColor(Color c) { }
}
将引发此编译错误:
Error 1 Inconsistent accessibility: parameter type 'Test.Color' is less accessible than method 'Test.SetColor(Test.Color)'
(这与将枚举设置为private 时遇到的错误相同。)此错误只能通过将枚举显式修改为public 来解决。文档不正确吗?
[我正在使用 C# 2010 和 .NET 4.0 进行编译。]
【问题讨论】:
-
引用枚举的成员的默认可访问性,而不是枚举本身。
-
C# 公共成员名称,包括枚举成员,应为 UpperCamelCase。