Поделиться через


IVisualizerObjectProvider Интерфейс

Определение

Предоставляет данные объекта из отладчика визуализатору.

public interface class IVisualizerObjectProvider
public interface class IVisualizerObjectProvider
__interface IVisualizerObjectProvider
public interface IVisualizerObjectProvider
type IVisualizerObjectProvider = interface
Public Interface IVisualizerObjectProvider
Производный

Примеры

public class DebuggerSide : DialogDebuggerVisualizer  
{  
    override protected void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
    {
         MessageBox.Show(objectProvider.GetObject<object>().ToString());
    }
    // . . . Other methods omitted for clarity.  
}

Комментарии

Визуализатор — это небольшая программа, использующаяся отладчиком Visual Studio для осмысленного отображения (визуализации) объекта определенного типа данных. Для визуализации объекта визуализатор использует код, который выполняется в процессе отладчика (на стороне отладчика) и код в отлаживаемом процессе (на стороне отладчика).

Стороны отладчика и отладчика взаимодействуют друг с другом с помощью VisualizerObjectSource и IVisualizerObjectProvider.

На стороне отладчика используется VisualizerObjectSource для указания VisualizerObjectSource объекта для стороны отладчика. Отладчик запрашивает и получает эти сведения путем вызова методов в интерфейсе IVisualizerObjectProvider .

Визуализатор может изменять и отображать данные. Если визуализатор поддерживает редактирование данных, необходимо полностью заменить данные путем вызова ReplaceData(Stream) или ReplaceObject(Object) передачи данных обратно в отладчик с помощью TransferData(Stream) или TransferObject(Object). Если вы хотите сохранить данные обратно, необходимо также создать собственный источник объектов.

Свойства

IsBinaryFormatterSupported

Указывает, поддерживает ли отладчик BinaryFormatter, так как он был нерекомендуем в .NET 5. В противном случае поставщик чаще всего использует JSON для взаимодействия с визуализатором.

IsObjectReplaceable

Указывает, можно ли создать замещающий объект. То есть определяет, является ли визуализируемый объект данных заменяемым (для чтения и записи) или недоступен (только для чтения).

Методы

GetData()

Возвращает начальный большой двоичный объект данных об отлаживаемом объекте. Данные записываются в предоставленный MemoryStream.

GetObject()
Устаревшие..

Получает данные с помощью GetData, а затем десериализует, предполагая, что сериализация по умолчанию выполнена.

ReplaceData(Stream)

Создает замену копии объекта на основе предоставленных сериализованных данных.

ReplaceObject(Object)

Сериализует объект с помощью сериализации по умолчанию, а затем задает данные с помощью ReplaceData.

TransferData(Stream)

Передает данные двунаправленно в метод TransferData в VisualizerObjectSource

TransferObject(Object)
Устаревшие..

Сериализует исходящий объект с помощью сериализации по умолчанию, а затем вызывает Метод TransferData. При возврате десериализует входящие данные и возвращает десериализованный объект.

Применяется к