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
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Usare le variabili per personalizzare gli stili CSS
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8
Usare le collection expression per inizializzare una lista di oggetti in C#
Eseguire operazioni sui blob con Azure Storage Actions
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Utilizzare i primary constructor di C# per inizializzare le proprietà
Generare token per autenicarsi sulle API di GitHub
Utilizzare le Cache API di JavaScript per salvare elementi nella cache del browser
Workflow di continuous deployment tramite pull request label in GitHub
Effettuare delete massive con Entity Framework Core 7