Ci viene spesso detto che dovremmo proteggere l'incapsulamento creando metodi getter e setter (proprietà in C #) per i campi di classe, invece di esporre i campi al mondo esterno.
Ma ci sono molte volte in cui un campo è lì per contenere un valore e non richiede alcun calcolo per ottenere o impostare. Per questi faremmo tutti questo numero:
public class Book
{
private string _title;
public string Title
{
get{ return _title; }
set{ _title = value; }
}
}
Bene, ho una confessione, non potevo sopportare di scrivere tutto questo (davvero, non doveva scriverlo, doveva guardarlo), quindi sono diventato un ladro e ho usato campi pubblici.
Poi arriva C # 3.0 e vedo che hanno aggiunto proprietà automatiche:
public class Book
{
public string Title {get; set;}
}
che è più ordinato, e ne sono grato, ma davvero, cosa c'è di così diverso che fare un campo pubblico?
public class Book
{
public string Title;
}
prop
snippet di codice rende veloce la creazione di proprietà. Basta digitare prop
quindi la scheda.