共用方式為


VisualizerObjectSource 類別

定義

提供要可視化之物件的存取權。
這個類別的子類別可提供自定義功能。

public ref class VisualizerObjectSource
[Windows::Foundation::Metadata::WebHostHidden]
class VisualizerObjectSource
public class VisualizerObjectSource
type VisualizerObjectSource = class
Public Class VisualizerObjectSource
繼承
VisualizerObjectSource

範例

[assembly: System.Diagnostics.DebuggerVisualizer(  
   typeof(MyFirstVisualizer.DebuggerSide),  
   // The object source is specified on the next line <<<<<  
   typeof(VisualizerObjectSource),  
   Target = typeof(System.String),  
   Description = "My First Visualizer")]  

備註

可視化檢視是 Visual Studio 調試程式用來以有意義的方式顯示 (可視化) 特定數據類型物件的小型程式。 若要可視化物件,可視化檢視會使用調試程式進程中執行的程式代碼, (調試程式端) 和正在偵錯的程式 (偵錯 的程式代碼) 。

調試程式端和偵錯端會使用 VisualrObjectSource 和 IVisualizerObjectProvider彼此通訊。

偵錯者端會使用 指定 DebuggerVisualizerAttribute 調試程式端的VisualrObjectSource物件。 調試程式端可透過 IVisualizerObjectProvider 介面間接存取。

建構函式

VisualizerObjectSource()

提供要可視化之物件的存取權。
這個類別的子類別可提供自定義功能。

屬性

IsBinaryFormatterSupported

如果裝載可視化檢視的偵錯程序支援二進位格式器類別,則會傳回 true。 如果不是這種情況,衍生自這個類別的類別應該透過 JSON 串行化其物件。

SelectedFormatterPolicy

當串行化/還原串行化資訊時,這個類別想要使用的格式原則。 不過,在不支援所選格式原則的情況下,調試程式可以覆寫它。

方法

CreateReplacementObject(Object, Stream)

建立並傳回根據串行化數據傳入之物件的取代物件。

Deserialize(Stream)
已淘汰.

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

如果在支援二進位串行化的目標應用程式上呼叫,在方法完成數據流讀取指標之後,就會進階超過 物件的位元組

DeserializeFromJson(Stream, Type, Object)

使用 Newtonsoft.Json 連結庫,以 JSON 格式將數據從指定的數據流還原串行化為特定類型的物件。

DeserializeFromJson<T>(Stream, Object)

使用 Newtonsoft.Json 連結庫,以 JSON 格式將數據從指定的數據流還原串行化為特定類型的物件。

GetData(Object, Stream)

取得數據的 Blob。 將數據從物件寫入記憶體數據流。

GetDeserializableObject(Stream)

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

Serialize(Stream, Object)

將指定的物件串行化為數據流。

根據預設,物件會透過 使用二進位串行化進行串行化 BinaryFormatter。 不過,如果目標應用程式不支援二進位串行化 (,如同 ASP.NET Core 5.0+ 應用程式) 的情況,此方法會使用任何可用的 JSON 串行化技術來串行化物件。

進程外可視化檢視不支援二進位串行化。 因此,此方法一律會使用 Newtonsoft.Json 連結庫加以串行化。

SerializeAsJson(Stream, Object, Object)

使用 Newtonsoft.Json 連結庫,將指定的物件串行化為 JSON 至數據流。

TransferData(Object, Stream, Stream)

當 UI 端可視化檢視類型呼叫 IVisualizerObjectProvider.TransferData (Stream) 或 IVisualizerObjectProvider.TransferObject (物件) 時叫用。

這個方法可用來定義自定義訊息傳遞通訊協定,以在UI端和偵錯端可視化檢視類型之間通訊,或叫用偵錯端可視化檢視類型的自定義動作。 UI 端可視化檢視類型可以傳入串行化的 incomingData 任意數據,而偵錯端可視化檢視類型可以使用串行化成 outgoingData的任意數據來回應。

適用於