Как окно просмотра VIsual Studio получает значение переменной?

Допустим, у меня есть экземпляр переменной x типа ABC. Когда я вижу значение x, оно показывает мне значение из метода x.ToString().

Откуда еще может взяться значение, отображаемое в столбце значений?

Любая помощь приветствуется,

Спасибо,

Даттебайо


person dattebayo    schedule 01.12.2010    source источник
comment
По-видимому, вы правильно ответили на свой вопрос: окно просмотра получает значение переменной, вызывая свой метод ToString. Итак, каков ваш фактический вопрос?   -  person Cody Gray    schedule 01.12.2010
comment
Есть ли другой способ, с помощью которого ToString() может быть переопределен, и отобразится какое-то неправильное значение. (например, атрибут класса или что-то, что может переопределить значение, отображаемое в столбце значений окна просмотра?)   -  person dattebayo    schedule 01.12.2010
comment
Я нашел что-то, что может переопределить отображаемое значение. использовать атрибут типа DebuggerDisplayAttribute. Существуют ли какие-либо другие места, где значение извлекается для элемента, отслеживаемого в окне просмотра?   -  person dattebayo    schedule 01.12.2010


Ответы (1)


Текст, который вы видите в столбце «Значение» в окне «Контроль», может быть получен из одного из трех источников.

  1. Метод объекта ToString(), как вы упомянули
  2. DebuggerDisplayAttribute для типа ABC, который сообщает отладчику, как его представить. пользователю.
  3. Если ваш класс "ABC" украшен атрибутом DebuggerTypeProxy, вам см. строку .ToString или DebuggerDisplay, которую имеет тип прокси.

Насколько я знаю, это только три варианта.

person Omer Raviv    schedule 18.12.2010