IVisualizerObjectProvider3 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
讓可視化檢視調試程式和偵錯端元件協調要使用的串行化機制,並提供額外的功能,以將數據傳遞至考慮 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)。 傳回時,它會嘗試還原串行化傳入數據,並傳回指定型別的物件。 |