Когда вы смотрите на значения переменных, то на самом деле вы хотите добраться до данных объекта. Иногда эти данные заслоняются самой объектной моделью. Предположим, что вы ищете данные, содержащиеся в объекте DataSet. Для того чтобы их найти, вам придется глубоко закопаться в окно наблюдения или список DataTip. Вам придется изучить внутренности объектной модели для того, чтобы добраться до базовых данных, содержащихся в объекте. Если вы когда-нибудь тратили на это много времени, то знаете, как это раздражает.
Visual Studio предлагает быстрый и простой способ доступа к данным внутри объекта. Она делает это при помощи инструмента под названием визуализатор. Визуализаторы предназначены для представления данных объекта определенным осмысленным образом.
По умолчанию с Visual Studio поставляется несколько визуализаторов, в том числе:
□ HTML — показывает диалоговое окно в виде браузера, где HTML интерпретирован так, как его будет видеть пользователь;
□ XML — показывает XML в структурированном формате;
□ Text — показывает строковое значение в легком для чтения формате;
□ DataSet — показывает содержимое объектов DataSet, DataView и DataTable.
В Visual Studio имеется также определенная инфраструктура для написания и инсталляции визуализаторов. Вы можете написать собственный визуализатор и подключить его к отладчику. Вы можете также скачать дополнительные визуализаторы и инсталлировать их. Возможности визуализаторов широки— настолько же, насколько широки возможности структурирования и просмотра данных. Возможны визуализаторы в виде дерева, которые отображают иерархические данные, или визуализаторы изображений, которые показывают изображения.
Вы вызываете визуализатор в одном из тех мест, где можно просматривать значения данных. Сюда входят окна контрольных значений и списки DataTips. Визуализаторы представлены значком увеличительного стекла. Вернитесь к рис. 10.35 для того, чтобы увидеть пример запуска визуализатора при помощи такого значка. Вместо того, чтобы копаться в иерархии объекта (чтобы добраться до его данных), вы можете вызвать визуализатор DataSet прямо из DataTip. На рис. 10.36 показан визуализатор в действии для объекту DataSet пользователя (в нашем примере приложения).