根據MSDN here和here(以及accepted answer to this qstn),枚舉的默認可訪問性爲public
。 然而,這段代碼:C#中枚舉的默認訪問修飾符
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。]
引用了枚舉的* members *的默認可訪問性,而不是枚舉本身。 – 2012-02-10 23:42:07
C#公共成員名稱(包括枚舉成員)應該是UpperCamelCase。 – SLaks 2012-02-10 23:44:01