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. При возврате десериализует входящие данные и возвращает десериализованный объект. |