public class TestClass
{
protected internal int FieldA;
internal protected int FieldB;
}
C'è differenza tra membri interni protetti e membri interni protetti?Esiste una differenza tra Protetto interno e Interno protetto?
public class TestClass
{
protected internal int FieldA;
internal protected int FieldB;
}
C'è differenza tra membri interni protetti e membri interni protetti?Esiste una differenza tra Protetto interno e Interno protetto?
C'è differenza tra membri protetti interni e interni protetti ?
Non c'è differenza tra di loro.
protected internal
significa protected
O internal
.
internal protected
significa internal
O protected
.
Il tipo o membro può accedere da qualsiasi codice nell'assemblea cui è dichiarata, o dall'interno di una classe derivata in un'altra assemblaggio. L'accesso da un altro assembly deve avvenire all'interno di una dichiarazione della classe che deriva dalla classe in cui è dichiarato l'elemento interno protetto e deve avvenire tramite un'istanza del tipo di classe derivata.
protected internal
comunemente utilizzato. Non c'è alcuna spiegazione su internal protected
nella pagina MSDN
.
controllare anche Phil Haack fresco post sul blog What Does Protected Internal Mean?
'internal' OR' internal'? –
@SimonWhitehead Fisso, grazie. –
No, nessuna differenza. Puoi dichiararli nell'ordine che preferisci. Proprio come è possibile dichiarare static
prima o dopo il modificatore di accesso.
L'unica vera differenza dovrebbe essere ciò che voi e il vostro team decidete. In genere ti consigliamo di attenersi allo stile uno per evitare confusione o ipotesi, o almeno rendere le cose coerenti durante la lettura.
EDIT: Anche se, ora che ci penso, non ricordo di aver visto spesso "internal protected"
. Sul numero MSDN page for access modifiers, lo elenca come "protected internal"
, quindi è probabile che rimanga tale perché potrebbe essere considerato "più standard".
No, non c'è.
Entrambe le varianti definiscono un membro accessibile dallo stesso assembly AND dalle classi discendenti.
intendi "O"? –
In questo caso particolare, sia "and" che "or" avranno lo stesso significato. –
è un'operazione bit per bit con una logica "OR" => interno: dalla stessa assemblea. protetto: da una classe derivata. "protetto E interno" non ha senso :-)
No, non c'è. Tuttavia, non cadere nella trappola di non rendersene conto significa 'protetto || internal'. Non significa 'protected && internal'. –