Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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ń
Class1napublic. - Ogranicz dostępność klasy pochodnej: zmień
Class2wartość nainternal.
Wskazówka
Klasy bazowe mogą być bardziej dostępne niż ich podklasy, ale nigdy nie są mniej dostępne.