次のコードを使用すると、inconsistengアクセシビリティを報告し続けますが、理由はわかりません。これは、プログラムのクラスであることに依存したり、公開されていない:enumsとpublicクラスとの混乱 - なぜ動作しないのですか?
enum Test
{A,B}
public class Program //when I remove public, it works
{
public Test a = Test.A;
static void Main(string[] args)
{
}
}
しかし、私はなぜプログラムクラスのアクセス修飾子が重要であるのか分かりません。 – Loj
ああ、それは私が思った。なぜなら、異なるアセンブリがパブリックプログラムクラスにアクセスし、そのパブリックフィールドで列挙型を公開しているからです。列挙型自体はプライベート(内部も)です。 – Loj
@Mojmi:はい、そうです。クラスのフィールドのアクセシビリティは、クラスのアクセシビリティによってオーバーライドされます。例えば。クラスが 'internal'で' public'フィールドを持っている場合、そのクラスはそのクラスへのアクセスを制限するため、このフィールドは公にアクセスできません。 – adrianbanks