VisualizerObjectSource 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供要可視化之物件的存取權。
這個類別的子類別可提供自定義功能。
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 端可視化檢視類型可以傳入串行化的 |