为什么无法将 "Using static" 功能与私有枚举一起使用?还有其他选择吗?

Why is it not possible to use "Using static" feature with private enum? Is there any alternative?

我有这个 class,我在其中使用了私有枚举。我想使用 C# 6 "Using static" 功能,如下所示:

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 的保护级别。如果我将访问修饰符更改为 internal 或 public 它会起作用。我想知道这是否根本不可能,如果是,为什么这不可能?

如果那是可能的,并且您在同一个文件中还有一些其他 class,那么您导入的符号将不会从那个 class 中可见。

那会令人困惑;这可能就是它不起作用的原因。