共用方式為


IVisualizerObjectProvider2 介面

定義

提供額外的功能,將數據從偵錯範圍傳遞至可視化檢視。

public interface class IVisualizerObjectProvider2 : Microsoft::VisualStudio::DebuggerVisualizers::IVisualizerObjectProvider
public interface IVisualizerObjectProvider2 : Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider
type IVisualizerObjectProvider2 = interface
    interface IVisualizerObjectProvider
Public Interface IVisualizerObjectProvider2
Implements IVisualizerObjectProvider
衍生
實作

備註

IVisualizerObjectProvider傳遞至 DialogDebuggerVisualizerShow(IDialogVisualizerService, IVisualizerObjectProvider) VS 16.10 及更新版本的 物件屬於此類型,因此您應該將其轉換成使用此新功能。

屬性

IsBinaryFormatterSupported

指定偵錯專案是否支援 BinaryFormatter,因為它在 .NET 5 中已被取代。 如果沒有,提供者最常使用 JSON 與可視化檢視通訊。

(繼承來源 IVisualizerObjectProvider)
IsObjectReplaceable

指定是否可以建立取代物件。 也就是說,判斷要可視化的數據對像是可取代 (讀取/寫入) 還是不可取代 (只讀) 。

(繼承來源 IVisualizerObjectProvider)

方法

Deserialize(Stream)
已淘汰.

舊版可視化檢視所使用的舊版協助程式方法,可讓您更輕鬆地撰寫還原串行化程序代碼。 它會使用預設的二進位串行化,從數據流讀取指定的物件。 不過,由於安全性弱點及其使用方式,因此不應再使用,而且會在較新版本的 .NET 上擲回,例如 ASP.NET Core 5.0。

如果在支援二進位串行化的目標應用程式上呼叫,在方法完成數據流讀取之後,我們會傳回基礎物件。

GetData()

取得所偵錯對象的相關初始數據 Blob。 數據會寫入提供的 MemoryStream。

(繼承來源 IVisualizerObjectProvider)
GetDeserializableObject()

使用 GetData 取得數據,然後傳回 IDeserializableObject,以便在不支援預設串行化時,呼叫端可以使用 JSON 還原串行化。

GetDeserializableObjectFrom(Stream)

可用於取得可還原串行化對象的協助程式方法,適用於目標應用程式可能不支援二進位串行化的情況。 在這些情況下,基礎格式應該使用 JSON 串行化,因此呼叫端可以查詢個別屬性,以判斷想要還原串行化的物件類型。

GetObject()
已淘汰.

使用 GetData 取得數據,然後還原串行化,假設已完成預設串行化

(繼承來源 IVisualizerObjectProvider)
ReplaceData(Stream)

根據指定的串行化數據,建立物件的取代複本。

(繼承來源 IVisualizerObjectProvider)
ReplaceObject(Object)

使用預設串行化串行化對象,然後使用 ReplaceData 設定數據

(繼承來源 IVisualizerObjectProvider)
Serialize(Object, Stream)

協助程式方法,可讓您更輕鬆地撰寫串行化程序代碼。

如果目標應用程式支援二進位串行化,它會使用 BinaryFormatter 類別的協助,將物件串行化至數據流。 如果不支援,這是較新版本 .NET 的情況,預設會以 JSON 格式串行化物件。

TransferData(Stream)

將數據雙向傳輸至 VisualizerObjectSource 上的 TransferData 方法

(繼承來源 IVisualizerObjectProvider)
TransferDeserializableObject(Object)

使用 串行化傳出物件做為 IDeserializableObject,然後呼叫 TransferData。 傳回時會還原串行化傳入數據,並傳回包裝在IDeserializableObject 中的物件。

TransferObject(Object)
已淘汰.

使用預設串行化串行化傳出對象,然後呼叫 TransferData。 當傳回還原串行化傳入數據並傳回已還原串行化的物件時

(繼承來源 IVisualizerObjectProvider)

適用於