Błąd kompilatora CS0060

Niespójne ułatwienia dostępu: klasa podstawowa "Class1" jest mniej dostępna niż klasa "Class2"

W języku C# klasa pochodna nie może mieć szerszej dostępności niż jej klasa bazowa. Jeśli klasa bazowa jest mniej dostępna, odbiorcy klasy pochodnej mogą przypadkowo uzyskać dostęp do klasy, której nie powinni widzieć.

Podklasy nigdy nie mogą być bardziej dostępne niż ich klasy bazowe. Umożliwiłoby to konsumentom podklasy szerszy dostęp do typu podstawowego niż był zamierzony.

Poniższy przykład generuje błąd CS0060, ponieważ Class1 jest internal oraz Class2 jest public.

internal class Class1
{
}

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

Możesz rozwiązać problem CS0060 na jeden z dwóch sposobów:

  • Uczyń klasę bazową bardziej dostępną: zmień Class1 na public.
  • Ogranicz dostępność klasy pochodnej: zmień Class2 wartość na internal.

Wskazówka

Klasy bazowe mogą być bardziej dostępne niż ich podklasy, ale nigdy nie są mniej dostępne.

Zobacz także