为什么不能在私有枚举中使用“使用静态”功能?还有其他选择吗?

时间:2017-07-20 19:32:44

标签: c# enums access-modifiers c#-6.0

我有这个类,我使用私有枚举。我想使用C#6“使用静态”功能,如下所示:

using static ConsoleForSimpleTests.Foo.MyEnum;

namespace ConsoleForSimpleTests
{
    public class Foo
    {
        private enum MyEnum { I, DonT, Want, This, To, Be, Public }

        private MyEnum value;

        public void SomeMethod()
        {
            switch (value)
            {
                    case I:
                    case DonT:
                    case Want:
                    case This:
                    case To:
                    case Be:
                    case Public:
                        break;
            }
        }
    }
}

注意:这不编译,我理解为什么,这是由于MyEnum的保护级别。如果我将访问修饰符更改为内部或公共它可以工作。我想知道如果这根本不可能,如果是这样,为什么这不可能呢?

1 个答案:

答案 0 :(得分:2)

如果可能,并且您在同一个文件中有其他类,则导入的符号将不会从该类中显示。

那会令人困惑;这可能就是为什么不起作用。