2
私はプライベート列挙型を使用するこのクラスを持っています。プライベート列挙型で「静的使用」機能を使用できないのはなぜですか?何か別の選択肢はありますか?
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の保護レベルが原因である理由、私は理解して、私は次のように、機能「静的を使用した」C#6を使用したいと思います。私がアクセス修飾子をinternalまたはpublicのどちらかに変更すると、それは動作します。私が不思議に思うのは、これが単に不可能なのかどうか、もしそうなら、なぜこれは不可能なのでしょうか?
申し訳ありませんが、質問のその部分をはっきりとスキップしました。 –
@BJ Myers 'staticを使用すると、実際にenum値に対して機能します。ここでの問題はアクセス修飾子です。プライベート列挙型を内部または公的に変更した場合、それは動作します – taquion
@taquionあなたは正しいです、私の悪い - 私は十分にあなたの質問を読んでいませんでした。 –