Ich habe diese Klasse, wo ich eine private Enum verwenden. Ich möchte C# 6 „Die Verwendung von statischen“ -Funktion, wie folgt verwenden:Warum ist es nicht möglich, die Funktion "Static verwenden" mit der privaten Enumeration zu verwenden? Gibt es eine Alternative?
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;
}
}
}
}
Hinweis: Dies gilt nicht kompilieren und ich verstehe, warum es auf die Schutzstufe für MyEnum zurückzuführen ist. Wenn ich den Zugriffsmodifizierer entweder intern oder öffentlich ändere, funktioniert es. Ich frage mich, ob das nicht möglich ist, und wenn ja, warum ist das nicht möglich?
Entschuldigung, ich habe diesen Teil der Frage klar übersprungen. –
@BJ Myers 'using static' funktioniert tatsächlich für enum-Werte. Das Problem hier ist der Zugriffsmodifizierer. Wenn du die private enum als intern oder öffentlich änderst funktioniert es – taquion
@ taquion Du hast Recht, mein Schlechter - ich habe deine Frage nicht genau genug gelesen. –