Le Proprietà in C# sono molto utili perché permettono di gestire meglio le variabili membro delle classi.
Facciamo un esempio di come può essere strutturata regolarmente una classe senza l’uso delle proprietà:
class NoPropertyTest
{
private int age;
public void SetAge(int a)
{
age = a;
}
public int GetAge()
{
return age;
}
}
Come in altri linguaggi come C++, questo è il metodo più logico per gestire la variabile privata age, che così è modificabile solamente grazie al metodo SetAge(), dentro al quale si possono fare dei controlli, ad esempio:
Public void SetAge(int a)
{
if (a >= 0)
{
age = a;
}
}
Con le proprietà, invece, si può fare il tutto senza la costruzione dei due metodi di Set e Get.
Vediamo un esempio:
class PropertyTest
{
private int age;
public int Age
{
get
{
return age;
}
set
{
if (value >= 0)
age = value;
}
}
}
Come si può vedere dall’esempio una proprietà è molto simile ad un metodo, solo che all’interno di essa comprende una sezione get ed una set, con il quale è possibile richiedere o settare una variabile.
Nella parte set si crea poi una variabile speciale, chiamata value, che è quella assegnata alla proprietà di volta in volta.
Ecco un esempio dell’uso della proprietà:
PropertyTest pt = new PropertyTest();
pt.Age = 10;
Console.WriteLine(pt.Age); //10
pt.Age = 65 ;
Console.WriteLine(pt.Age); //65
pt.Age = -5;
Console.WriteLine(pt.Age); //65 - La variabile non viene modificata se minore di 0!


