Visual Studio ha molte finestre di debug che permettono di vedere il valore di una variabile: watch window, quick watch, e mouse over. Quando la variabile è semplice (un numero, una stringa, un booleano e così via) Visual Studio visualizza direttamente il valore della variabile. Quando la variabile è invece un oggetto complesso, Visual Studio mostra il tipo della variabile e un pulsante per espandere l'oggetto e mostrare tutte le sue proprietà.
A volte può essere utile mostrare una stringa che non sia il tipo dell'oggetto, ma altro. Ad esempio, se l'oggetto contiene solo due proprietà, può essere comodo visualizzare direttamente il valore di queste così da non essere costretti a espandere l'oggetto per vederle.
Per fare questo dobbiamo decorare la classe con l'attributo DebuggerDisplay. Questo attributo ha un costruttore che accetta in input una stringa all'interno della quale possiamo definire quali proprietà mostrare circondandole con parentesi graffe come mostrato nel prossimo esempio.
[DebuggerDisplay("Prop1: {Prop1}, Prop2: {Prop2}")] class MyClass { public string Prop1 { get; set; } public int Prop2 { get; set; } }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ottimizzare le performance usando Span<T> e il metodo Split
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Creare una libreria CSS universale: Nav menu
Sostituire la GitHub Action di login su private registry
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Simulare Azure Cosmos DB in locale con Docker
Utilizzare Azure AI Studio per testare i modelli AI
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Eseguire una query su SQL Azure tramite un workflow di GitHub
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework