Link copiato negli appunti
Per scegliere quando è opportuno utilizzare una proprietà al posto di un metodo o viceversa si deve considerare che i metodi rappresentano delle azioni mentre le proprietà rappresentano dei valori o degli attributi. Le proprietà non dovrebbero quindi essere complesse nella loro implementazione e non dovrebbero modificare dei dati ma solo restituire valori.
L'utilizzo classico di una proprietà è quello di permettere la modifica del valore di un campo privato e la verifica preventiva del valore assegnato:
private string _name = "";
public string Name
{
get { return _name; }
set
{
if( value != null && value.Length <= 100)
{
_name = value;
}
else
{
throw new ApplicationException("Max length for Name is 100 characters");
}
}
}
àˆ opportuno utilizzare un metodo al posto di una proprietà se si verifica uno dei seguenti casi:
- Quando il dato da fornire implica l'accesso a canali di comunicazione lenti quali la rete o il file system
- Quando il valore è il risultato di una conversione di altri valori (ad esempio come nel caso del metodo ToString() della classe Object
- Quando il valore restituito è diverso ad ogni chiamata (ad esempio come nel caso del metodo NewGuid della classe Guid)
- Quando la modifica del valore ha effetti significativi su altri dati dell'applicazione
- Quando l'operazione restituisce una copia di un oggetto interno invece dell'oggetto stesso
- Quando il valore è una matrice
Se vuoi aggiornamenti su OS inserisci la tua email nel box qui sotto: