Qual è il vantaggio dell'utilizzo di getter e setter sulle proprietà in C #? [duplicare]

0

Perché utilizziamo il metodo get e set in C #? E perché utilizziamo la proprietà del metodo public e private?

Ad esempio:

public class Date
{
    private int month = 7;  
    public int Month
    {
        get
        {
            return month;
        }
        set
        {
            if ((value > 0) && (value < 13))
            {
                month = value;
            }
        }
    }
}
    
posta imonbayazid 29.07.2012 - 08:51
fonte

1 risposta

9

Private set modifier è usato per controllare l'accesso al valore della proprietà dell'oggetto.

Public set modifier è che accede direttamente al valore della proprietà dell'oggetto.

Quando hai un dominio chiuso, come regola del principio di apertura / chiusura, modificatori di set privati usati per limitare l'accesso diretto a modificare le proprietà dell'oggetto.

I setter privati non erano disponibili prima di .NET 2.0 Framework. Ciò significa che le persone hanno scritto metodi SetXXX separati se volevano un getter pubblico ma un setter più limitato.

public class MyTest
{
    string someProperty;

    public string SomeProperty
    {
        get
        {
            return someProperty;
        }

        private set
        {
            someProperty = value;
        }
    }
}

Le regole di base sono che non puoi specificare un modificatore di accesso sia per il getter che per il setter, e devi usare il modificatore "extra" per rendere l'accesso più restrittivo rispetto al resto della proprietà.

L'esempio della tua domanda proviene dall'articolo MSDN Uso delle proprietà (Guida alla programmazione C # ) . Guardalo di nuovo e chiarirà le cose.

    
risposta data 29.07.2012 - 09:01
fonte

Leggi altre domande sui tag