DebuggerDisplay на универсальном классе

Для каждой настраиваемой темы существует конечная точка проверки работоспособности.

Вот пример конечной точки, которую вы можете пропинговать:

https: //.westcentralus-1.eventgrid.azure.net/api/health

13
задан Bjarke Ebert 3 November 2008 в 15:31
поделиться

1 ответ

Атрибут DebuggerDisplay не является рекурсивным. {} в строке по существу говорят, оценивают это выражение и отображают встроенный результат. Строка для внутреннего результата вычисляется, как будто не было никакого атрибута DebuggerDisplay в игре для типа или участника. Именно поэтому Вы видите {Нечто} вместо - нечто-.

Причиной этого является надежность. Слишком легко сделать, чтобы взаимно рекурсивный DebuggerDisplay приписал теги. Это заставило бы переполнение стека или бесконечный цикл происходить при оценке внутреннего выражения. Не рекурсивно оценка атрибута DebuggerDisplay предотвращает эту бесконечную рекурсию (хотя для пользователя все еще довольно возможно создать его самостоятельно в конкретном выражении).

Одним путем можно управлять способом, которым отображено внутреннее выражение, путем переопределения.ToString () метод. Это будет оценено при вычислениях строки дисплея для внутреннего выражения.

19
ответ дан 1 December 2019 в 22:08
поделиться