다음을 통해 공유


IVisualizerObjectProvider3 인터페이스

정의

시각화 도우미 디버거 및 디버기 쪽 구성 요소가 사용할 직렬화 메커니즘을 조정하고 를 고려하여 SelectedFormatterPolicy디버기 쪽에 데이터를 전달하는 추가 기능을 제공합니다.

public interface IVisualizerObjectProvider3 : Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider2
type IVisualizerObjectProvider3 = interface
    interface IVisualizerObjectProvider2
    interface IVisualizerObjectProvider
Public Interface IVisualizerObjectProvider3
Implements IVisualizerObjectProvider2
구현

속성

IsBinaryFormatterSupported

디버그가 .NET 5에서 더 이상 사용되지 않으므로 BinaryFormatter를 지원하는지 지정합니다. 그렇지 않은 경우 공급자는 대부분 JSON을 사용하여 시각화 도우미와 통신합니다.

(다음에서 상속됨 IVisualizerObjectProvider)
IsObjectReplaceable

대체 개체를 만들 수 있는지 여부를 지정합니다. 즉, 시각화되는 데이터 개체를 바꿀 수 있는지(읽기/쓰기) 또는 대체 불가능(읽기 전용)인지 여부를 결정합니다.

(다음에서 상속됨 IVisualizerObjectProvider)
SelectedFormatterPolicy

정보를 직렬화/역직렬화할 때 이 클래스에서 사용할 형식 정책입니다.

메서드

Deserialize(Stream)
사용되지 않음.

역직렬화 코드를 더 쉽게 작성할 수 있도록 이전 시각화 도우미에서 사용하는 레거시 도우미 메서드입니다. 기본 이진 serialization을 사용하여 스트림에서 지정된 개체를 읽습니다. 그러나 사용이 있는 보안 취약성으로 인해 더 이상 사용하지 않아야 하며 ASP.NET Core 5.0과 같은 최신 버전의 .NET에서 throw됩니다.

이진 Serialization을 지원하는 대상 앱에서 호출되는 경우 메서드가 스트림을 완료한 후 스트림을 읽고 기본 개체를 반환합니다.

(다음에서 상속됨 IVisualizerObjectProvider2)
DeserializeFromJson<T>(Stream, Object)

지정된 스트림에서 Newtonsoft.Json 형식의 데이터를 특정 형식의 개체로 역직렬화합니다.

GetData()

디버그 중인 개체에 대한 데이터의 초기 Blob을 가져옵니다. 데이터는 제공된 MemoryStream에 기록됩니다.

(다음에서 상속됨 IVisualizerObjectProvider)
GetDeserializableObject()

GetData를 사용하여 데이터를 가져오고 기본 seriallization이 지원되지 않는 경우 호출자가 JSON으로 역직렬화할 수 있도록 IDeserializableObject를 반환합니다.

(다음에서 상속됨 IVisualizerObjectProvider2)
GetDeserializableObjectFrom(Stream)

대상 앱이 이진 Serialization을 지원하지 않을 수 있는 경우 역직렬화할 수 있는 개체를 가져오는 데 사용할 수 있는 도우미 메서드입니다. 이러한 경우 기본 형식은 JSON을 사용하여 직렬화되어야 하므로 호출자는 개별 속성을 쿼리하여 역직렬화하려는 개체의 형식을 확인할 수 있습니다.

(다음에서 상속됨 IVisualizerObjectProvider2)
GetObject()
사용되지 않음.

GetData를 사용하여 데이터를 가져오고 기본 serialization이 완료되었다고 가정하여 역직렬화합니다.

(다음에서 상속됨 IVisualizerObjectProvider)
GetObject<T>()

를 사용하여 GetData() 데이터를 가져오고 지정된 형식으로 역직렬화하려고 시도합니다.

ReplaceData(Stream)

지정된 직렬화된 데이터를 기반으로 개체의 대체 복사본을 만듭니다.

(다음에서 상속됨 IVisualizerObjectProvider)
ReplaceObject(Object)

기본 serialization을 사용하여 개체를 직렬화한 다음 ReplaceData를 사용하여 데이터를 설정합니다.

(다음에서 상속됨 IVisualizerObjectProvider)
Serialize(Object, Stream)

직렬화 코드를 더 쉽게 작성할 수 있는 도우미 메서드입니다.

대상 앱이 이진 Serialization을 지원하는 경우 BinaryFormatter 클래스의 도움을 받아 개체를 스트림으로 직렬화합니다. 최신 버전의 .NET에서 지원되지 않는 경우 기본적으로 JSON 형식으로 개체를 직렬화합니다.

(다음에서 상속됨 IVisualizerObjectProvider2)
TransferData(Stream)

VisualizerObjectSource의 TransferData 메서드에 양방향으로 데이터를 전송합니다.

(다음에서 상속됨 IVisualizerObjectProvider)
TransferDeserializableObject(Object)

를 IDeserializableObject로 사용하여 나가는 개체를 직렬화한 다음 TransferData를 호출합니다. 반환 시 들어오는 데이터를 역직렬화하고 IDeserializableObject에 래핑된 개체를 반환합니다.

(다음에서 상속됨 IVisualizerObjectProvider2)
TransferObject(Object)
사용되지 않음.

기본 serialization을 사용하여 나가는 개체를 직렬화한 다음 TransferData를 호출합니다. 반환 시 들어오는 데이터를 역직렬화하고 역직렬화된 개체를 반환합니다.

(다음에서 상속됨 IVisualizerObjectProvider)
TransferObject<T>(Object)

을 사용하여 SelectedFormatterPolicy 나가는 개체를 직렬화한 다음 를 호출합니다 TransferData(Stream). 반환 시 들어오는 데이터를 역직렬화하려고 시도하고 지정된 형식의 개체를 반환합니다.

적용 대상