According to MSDN here and here (as well as the accepted answer to this qstn), the default accessibility for enums is public
.
However, this code:
public class Test
{
enum Color { RED, BLUE, GREEN };
public void SetColor(Color c) { }
}
will raise this compile error:
Error 1 Inconsistent accessibility: parameter type 'Test.Color' is less accessible than method 'Test.SetColor(Test.Color)'
(which is the same error you get when you set the enum as private
.) This error can only be resolved by explicitly modifying enum as public
. Is the documentation incorrect?
[I'm compiling with C# 2010 and .NET 4.0.]