Nello script #391 abbiamo visto come inizializzare il valore di una proprietà sfruttando la nuova sintassi di C# 6. Nello script, la proprietà era sia in lettura che scrittura e il suo valore era impostato con un valore statico. A volte queste condizioni non possono essere soddisfatte, perchè la proprietà deve essere in sola lettura e il valore da assegnare deve essere calcolato a run time. C# 6 permette di impostare a runtime il valore di una proprietà in sola lettura a patto che il valore sia impostato nel costruttore come mostrato nell'esempio.
public class Person
{
public string FullName { get; }
public Person(string firstName, string lastName)
{
FullName = $"{firstName} {lastName}";
}
}Fino a C# 5 un risultato simile era ottenibile usando o campi readonly o proprietà con setter privato. Nel primo caso il problema consiste nel fatto che i campi readonly non possono essere messi in binding, mentre nel secondo caso il problema è che avere un setter permette di modificare la proprietà e questo non dovrebbe essere possibile dopo l'inizializzazione. Con C# 6 questi problemi sono superati.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Configurare OpenAI in .NET Aspire
Impostare il tipo di supporto dei campi Json in Entity Framework con Sql Server
Supporto nativo a JSON in SQL Server 2025
Utilizzare zizmor per rendere più sicuri i workflow di GitHub
Pubblicare un MCP Server in GitHub MCP Registry
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Gestione delle scrollbar dinamiche in HTML e CSS
Gestione opzioni colonna nella Blazor QuickGrid
Effettuare la ricerca di testo nascosto in una pagina web con Javascript
Semplificare i deployment con le label in Azure Container App
Integrare Agenti A2A in Azure API Management
Importare un servizio esterno in .NET Aspire


