Domanda

Esiste un modo per rendere pubblico il modificatore di accesso predefinito per le dichiarazioni variabili / metodo / classe?

Penso che, per impostazione predefinita, le dichiarazioni di classe siano private sì?

È stato utile?

Soluzione

Non è possibile modificare le impostazioni predefinite. L'impostazione predefinita è quella più restrittiva.

L'accessibilità predefinita (per il tipo) per un tipo di livello superiore è internal . L'accessibilità predefinita (per il tipo) per un tipo nidificato è private . L'accessibilità predefinita per i membri è privata.

L'unica volta che non è il più restrittivo è per la parte esplicita di una proprietà implementata automaticamente, dove puoi renderla più restrittiva aggiungendo un modificatore:

public int Foo {get;private set;}

Altri suggerimenti

La regola generale è che il valore predefinito è il livello di accesso più privato che è possibile specificare. L'unica leggera variazione su questo è quando rendi una parte di una proprietà (di solito il setter) più privata rispetto al resto della proprietà.

Essere in grado di modificare il valore predefinito sarebbe straordinariamente confuso per le persone che mantengono il tuo codice. Ci sono molti che sostengono che non dovresti mai usare le impostazioni predefinite specificando sempre esplicitamente la visibilità.

Sì, tutti i membri del tipo sono privati. Ma no, non può essere cambiato.

Non puoi modificare il comportamento come indicato correttamente da altre risposte

Ma puoi modificare il tuo file modello di classe, in modo tale che ogni volta che aggiungi una classe dal tuo esploratore della soluzione, la parola chiave public verrà aggiunta alla tua nuova classe aggiunta.

vedi qui per modificare i modelli di Visual Studio

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top