Ok, quindi questa potrebbe essere una domanda stupida, e c'è sicuramente la risposta ovvia, ma ero curioso di sapere se mi sono perso qualche sottigliezza qui.Membri pubblici e interni in una classe interna?
C'è qualche differenza in termini di visibilità/usabilità tra un membro public
dichiarato in una classe e di una internal
internal
membro dichiarato in una classe internal
?
cioè tra
internal class Foo
{
public void Bar()
{
}
}
e
internal class Foo
{
internal void Bar()
{
}
}
Se hai dichiarato il metodo come public
ed anche virtual
, e poi a sovrascrivere in una classe derivata che è public
, la ragione per l'utilizzo di questo modificatore è chiaro. Tuttavia, questa è l'unica situazione ... mi manca qualcos'altro?
_Se hai dichiarato il metodo come pubblico e anche virtuale, quindi lo hai annullato in una classe derivata che è public_ ** meeeep! **: non ti è consentito aumentare la visibilità, solo il contrario: puoi creare un classe derivata di una classe pubblica che è interna (o anche nidificata e privata) – springy76
I googler prendono nota: questa quasi duplicata [domanda] (http://stackoverflow.com/questions/9302236/why-use-a-public-method -in-an-internal-class/9302642 # 9302642) contiene un'altra risposta particolarmente eccellente. –