我有一个使用私有(private)枚举的类。我想使用 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 的保护级别所致。如果我将访问修饰符更改为内部或公共(public),它就可以工作。我想知道这是否根本不可能,如果是的话,为什么这是不可能的?
最佳答案
如果可能的话,并且您在同一文件中有其他一些类,则您导入的符号在该类中将不可见。
这会令人困惑;这可能就是为什么它不起作用的原因。
关于c# - 为什么不能将 "Using static"功能与私有(private)枚举一起使用?还有其他选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45223740/