Esempio 1:
Supponiamo di avere una classe con proprietà di sola lettura (get) e vogliamo impostare del valore.
Classe:
public class Persona
{
public Persona(string nome, string cognome)
{
Nome = nome;
Cognome = cognome;
}
public string Nome { get; }
public string Cognome { get; }
}
Utilizzo:
Persona persona = new Persona ("Emanuele", "Mattei");
MessageBox.Show(persona.Nome + " " + persona.Cognome );
Se impostiamo una delle proprietà (Nome o Cognome) il compilatore ci visualizzerà un messaggio di errore come riportato in figura 1.
Figura 1 - L'errore del compilatore |
Esempio 2:
Possiamo passare il valore anche in maniera abbreviata direttamente nella definizione di classe.
Di seguito il frammento di codice.
Classe:
public class Persona2(string Nome, string Cognome)
{
public string Nome { get; } = Nome;
public string Cognome { get; } = Cognome;
}
Utilizzo:
Persona2 persona = new("Emanuele", "Mattei");
MessageBox.Show(persona.Nome + " " + persona.Cognome );
Esempio 3:
Un ultimo esempio sull'utilizzo delle classi con proprietà di sola lettura, che vengono valorizzate durante l'inizializzazione della classe.
Classe:
public class Persona3
{
private readonly string _Nome;
private readonly string _Cognome;
public Persona3(string nome, string cognome)
{
_Nome = nome;
_Cognome = cognome;
}
public string NomeCompleto => $"{_Nome} {_Cognome}";
Utilizzo:
Persona3 persona = new("Emanuele", "Mattei");
MessageBox.Show(persona.NomeCompleto );
Nessun commento:
Posta un commento