共用方式為


IVisualizerObjectProvider3 介面

定義

讓可視化檢視調試程式和偵錯端元件協調要使用的串行化機制,並提供額外的功能,以將數據傳遞至考慮 SelectedFormatterPolicy的偵錯gee 端。

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

屬性

IsBinaryFormatterSupported

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

(繼承來源 IVisualizerObjectProvider)
IsObjectReplaceable

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

(繼承來源 IVisualizerObjectProvider)
SelectedFormatterPolicy

串行化/還原串行化資訊時,這個類別將使用的格式原則。

方法

Deserialize(Stream)
已淘汰.

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

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

(繼承來源 IVisualizerObjectProvider2)
DeserializeFromJson<T>(Stream, Object)

將 Newtonsoft.Json 格式中的數據從指定的數據流還原串行化為特定類型的物件。

GetData()

取得有關正在偵錯之物件的初始數據 Blob。 數據會寫入提供的 MemoryStream。

(繼承來源 IVisualizerObjectProvider)
GetDeserializableObject()

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

(繼承來源 IVisualizerObjectProvider2)
GetDeserializableObjectFrom(Stream)

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

(繼承來源 IVisualizerObjectProvider2)
GetObject()
已淘汰.

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

(繼承來源 IVisualizerObjectProvider)
GetObject<T>()

使用 GetData() 取得數據,然後嘗試將它還原串行化為指定的型別。

ReplaceData(Stream)

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

(繼承來源 IVisualizerObjectProvider)
ReplaceObject(Object)

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

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

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

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

(繼承來源 IVisualizerObjectProvider2)
TransferData(Stream)

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

(繼承來源 IVisualizerObjectProvider)
TransferDeserializableObject(Object)

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

(繼承來源 IVisualizerObjectProvider2)
TransferObject(Object)
已淘汰.

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

(繼承來源 IVisualizerObjectProvider)
TransferObject<T>(Object)

使用 SelectedFormatterPolicy 序列化傳出物件,然後呼叫 TransferData(Stream)。 傳回時,它會嘗試還原串行化傳入數據,並傳回指定型別的物件。

適用於