Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Accesibilidad incoherente: la clase base 'Class1' es menos accesible que la clase 'Class2'
En C#, una clase derivada no puede tener una accesibilidad más amplia que su clase base. Si la clase base es menos accesible, los consumidores de la clase derivada podrían obtener acceso involuntariamente a una clase que no deberían ver.
Las subclases nunca pueden ser más accesibles que sus clases base. Esto permitiría que los consumidores de la subclase tuvieran acceso más amplio al tipo base de lo previsto.
El ejemplo siguiente genera la advertencia CS0060 porque Class1 es internal y Class2 es public.
internal class Class1
{
}
public class Class2 : Class1 // 🛑 CS0060: Class1 is less accessible
{
}
Puede resolver el error CS0060 de una de estas dos maneras:
- Hacer que la clase base sea más accesible: cambie
Class1para que seapublic. - Restringir la accesibilidad de la clase derivada: cambie
Class2para que seainternal.
Sugerencia
Las clases base pueden ser más accesibles que sus subclases, pero nunca menos accesibles.