Ho un assembly/progetto comune che ha una classe base astratta, quindi diverse classi derivate che desidero rendere pubbliche per altri assembly.Classe astratta interna: come nascondere l'utilizzo al di fuori del gruppo?
Non voglio la classe di base astratta di presentarsi in altre assemblee a Intellisense, così ho pensato che avrei fatta internal
, ma ottengo questo errore:
Inconsistent accessibility: base class 'Settings' is less accessible than class 'IrcSettings' ....
non lo faccio davvero capito. Sono costretto a creare l'abstract classe public
e quindi visibile all'esterno di questo assembly.
Come posso rendere questa classe internal
invece?
Solo un piccolo punto, è possibile avere interfacce come tipo di base che è interno all'assemblaggio, ma i suoi membri (dell'implementazione) saranno pubblici (disponibili al di fuori dell'assembly). Se la classe astratta non ha alcuna implementazione e i membri sono tutti pubblici, allora si dovrebbe preferire un'interfaccia. – nawfal