. NET/Visual Studio używa metody ToString() obiektu, aby wyświetlić wartość obiektu podczas wyświetlania go w debugerze. Chciałbym wyświetlić konkretne informacje, ale ponieważ .ToString() jest często używany przez framework przy konwersji obiektu na ciąg, nie mogę tego zrobić przez przesłonięcie ToString(). Czy istnieje atrybut, za pomocą którego debugger może użyć innej metody lub właściwości?Jak używać delegata innego niż ToString do wyświetlania wartości obiektu podczas debugowania?
7
A
Odpowiedz
12
Użyj DebuggerDisplayAttribute
[MSDN]. Dostarczasz go z ciągiem formatującym odwołującym się do pól/właściwości w klasie, które będą wyświetlane podczas debugowania, bez konieczności komunikowania się z ToString()
.
[DebuggerDisplay("Count = {count}")]
class MyHashtable
{
public int count = 4;
}
Działa również z metod:
[DebuggerDisplay("{ToDebugString()}")]
public class SomeClass
{
public override String ToString()
{
return "Normal ToString()";
}
public String ToDebugString()
{
return "ToDebugString()";
}
}
Powiązane problemy
- 1. Wtyczka Eclipse do wyświetlania obrazu podczas debugowania
- 2. Jak przenieść elementy obiektu do innego obiektu?
- 3. Nie można wyświetlić wartości zmiennych podczas debugowania
- 4. Implementacja metody toString do wydrukowania obiektu LinkedList
- 5. Dziwne awarie podczas debugowania obiektu COM destructor
- 6. Jak wyświetlić DataTable podczas debugowania
- 7. Jak używać local :: lib innego niż use lib?
- 8. Chrome devtools console: see toString reprezentacja obiektu?
- 9. Jak oddzielić przecinkami wartości tablicy do wyświetlania
- 10. Jak używać wyjść ARM "wartości innego zadania wydania?
- 11. Dlaczego wywoływana jest metoda toString() podczas drukowania obiektu?
- 12. błąd podczas wyświetlania toastu
- 13. oddania jednego obiektu do innego
- 14. angular2: jak skopiować obiekt do innego obiektu
- 15. Jak używać LINQ do wybierania do obiektu?
- 16. Uzyskiwanie "wyświetlania" obwiedni przyciętego obiektu
- 17. Dodaj właściwości do obiektu stdClass z innego obiektu
- 18. Jak powrócić do punktu przerwania podczas debugowania?
- 19. Czy mogę zaimplementować .ToString() na C++ dla celów debugowania?
- 20. Przekierowanie 302 do protokołu innego niż HTTP
- 21. Przeniesienie wartości do innego środowiska
- 22. Jak mogę mieć WPF używać jednego stylu okna dla trybu debugowania i innego dla trybu zwolnienia?
- 23. Jak mogę używać PyCharm do lokalnego debugowania pracownika do selera?
- 24. Zobacz stan obiektu/właściwości w Xcode podczas debugowania
- 25. Dlaczego warto używać Object.create do prototypu podczas rozszerzania obiektu?
- 26. Jak używać obiektu java jako wartości w Redis
- 27. Jak zatrzymać czasomierz podczas debugowania
- 28. Jak logicznie używać PHP do wyświetlania wszystkich możliwych wartości tabeli bazy danych?
- 29. IntelliJ - wstrzymać wątek podczas debugowania
- 30. Jak używać JSON do tworzenia obiektu dziedziczącego z typu obiektu?
Awesome, widziałem, że atrybut w IntelliSense, ale nie zdawałem sobie sprawy, wartość może być tokenized. To ma więcej sensu. Dzięki! –