Динамическое представление
Эта функция применяется только к проектам, которые используют .NET Framework 4.
Когда окно Контрольные значения отображает объект, реализующий интерфейс IDynamicMetaObjectProvider, отладчик добавляет специальный узел Динамическое представление в область отображения контрольных значений. Узел динамического представления отображает члены динамического объекта, но не допускает редактирования значений членов.
Если щелкнуть правой кнопкой мыши любой дочерний элемент динамического представления и выбрать команду Добавить контрольное значение, отладчик вставляет новую переменную наблюдения, приводящую объект к динамическому объекту. Другими словами object Name становится:
((dynamic)object.Name
Вычисление членов динамического представления может иметь побочные эффекты. Для C# отладчик автоматически не пересчитывает значения, отображаемые в Динамическом представлении при переходе на новую строку кода. В Visual Basic выражения, добавляемые с помощью динамического представления, автоматически обновляются.
Инструкции о том, как обновить значения Динамического представления, см. в разделе Практическое руководство. Обновление просматриваемых значений. Объяснение того, что такое побочные эффекты, см. в разделе Побочные эффекты и выражения. Для Visual Basic значения, представленные в Динамическом представлении, автоматически повторно вычисляются.
Если требуется отобразить только динамическое представление объекта, можно использовать спецификатор формата dynamic, как показано ниже, для C#:
ObjectName, dynamic
Для Visual Basic используется следующий синтаксис:
$dynamic, ObjectName
Объекты COM
Динамическое представление также улучшает процесс отладки для COM-объектов. Когда отладчик встречает COM-объект в вызываемой оболочке среды выполнения, System.__ComObject, он добавляет узел Динамическое представление для объекта.