Tengo un ensamblado/proyecto común que tiene una clase base abstracta, luego varias clases derivadas que deseo hacer públicas a otros ensambles.Clase abstracta interna: cómo ocultar el uso fuera del ensamblaje?
no quiero la clase base abstracta para aparecer en estas otras asambleas en Intellisense, así que pensé que lo lograría internal
, pero me sale este error:
Inconsistent accessibility: base class 'Settings' is less accessible than class 'IrcSettings' ....
no lo hago realmente entiendo esto Estoy obligado a hacer la clase abstracta Settings
public
, y por lo tanto visible fuera de este conjunto.
¿Cómo puedo hacer que esta clase internal
en su lugar?
Solo un pequeño punto, puede tener interfaces como tipo de base que es interno para el ensamblaje, pero sus miembros (de la implementación) serán públicos (disponibles fuera del ensamblaje). Si la clase abstracta no tiene ninguna implementación y los miembros son todos públicos, entonces uno debería preferir la interfaz. – nawfal