Freigeben über


Compilerfehler CS0060

Inkonsistente Barrierefreiheit: Die Basisklasse "Class1" ist weniger zugänglich als die Klasse "Class2".

In C# kann eine abgeleitete Klasse keine breitere Zugänglichkeit als ihre Basisklasse aufweisen. Wenn die Basisklasse weniger zugänglich ist, können Verbraucher der abgeleiteten Klasse unbeabsichtigt Zugriff auf eine Klasse erhalten, die sie nicht sehen sollten.

Unterklassen können niemals leichter zugänglich sein als ihre Basisklassen. Dies würde den Verbrauchern der Unterklasse einen breiteren Zugriff auf den Basistyp ermöglichen, als beabsichtigt.

Das folgende Beispiel erzeugt CS0060, da Class1internal ist und Class2public ist.

internal class Class1
{
}

public class Class2 : Class1 // 🛑 CS0060: Class1 is less accessible
{
}

Sie können CS0060 auf eine von zwei Arten auflösen:

  • Machen Sie die Basisklasse zugänglicher: Ändern Sie Class1 so, dass es public ist.
  • Einschränken Sie die Zugriffsberechtigung der abgeleiteten Klasse: Ändern Sie Class2, um internal zu sein.

Tipp

Basisklassen können zugänglicher sein als ihre Unterklassen, aber nie weniger zugänglich.

Siehe auch