VisualizerObjectSource Sınıf

Tanım

Görselleştirilmekte olan nesneye erişim sağlar.
Özel işlevsellik sağlamak için bu sınıfın alt sınıfını belirleyin.

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

Örnekler

[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")]  

Açıklamalar

Görselleştirici, Visual Studio hata ayıklayıcısının belirli bir veri türündeki bir nesneyi anlamlı bir şekilde görüntülemek (görselleştirmek) için kullandığı küçük bir programdır. Görselleştirici, bir nesneyi görselleştirmek için hata ayıklayıcı işleminde (hata ayıklayıcı tarafı) çalışan kodu ve hata ayıklanan işlemdeki kodu ( hata ayıklayıcı tarafı) kullanır.

Hata ayıklayıcı tarafı ve debuggee tarafı, VisualizerObjectSource ve IVisualizerObjectProviderkullanarak birbirleriyle iletişim kurar.

Hata ayıklayıcı tarafı, hata ayıklayıcı tarafı için bir VisualizerObjectSource nesnesi belirtmek üzere öğesini kullanır DebuggerVisualizerAttribute . Hata ayıklayıcı tarafı, arabirim üzerinden dolaylı olarak erişime IVisualizerObjectProvider sahiptir.

Oluşturucular

VisualizerObjectSource()

Görselleştirilmekte olan nesneye erişim sağlar.
Özel işlevsellik sağlamak için bu sınıfın alt sınıfını belirleyin.

Özellikler

IsBinaryFormatterSupported

Görselleştiricinin barındırıldığı debuggee işlemi İkili Biçimlendirici sınıfını destekliyorsa true döndürür. Böyle bir durum söz konusu değilse, bu sınıftan türetilen sınıflar nesnelerini JSON aracılığıyla seri hale getirmelidir.

SelectedFormatterPolicy

Bu sınıfın bilgileri serileştirirken/seri durumdan çıkarırken kullanmak istediği biçim ilkesi. Ancak, seçilen biçim ilkesinin desteklenmediği senaryolarda hata ayıklayıcı tarafından geçersiz kılınabilir.

Yöntemler

CreateReplacementObject(Object, Stream)

Seri hale getirilmiş verilere göre geçirilen nesne için bir değiştirme nesnesi oluşturur ve döndürür.

Deserialize(Stream)
Geçersiz.

Serileştirme kodu yazmayı kolaylaştıran eski görselleştiriciler tarafından kullanılan eski yardımcı yöntemi. Verilen nesneyi akıştan okumak için varsayılan ikili serileştirmeyi kullanır. Ancak, kullanımıyla ilgili güvenlik açıkları nedeniyle artık kullanılmamalıdır ve .NET'in ASP.NET Core 5.0 gibi daha yeni sürümlerini kullanır.

İkili Serileştirmeyi destekleyen bir hedef uygulamada çağrılırsa, yöntem tamamlandıktan sonra akış okuma işaretçisi nesnenin baytlarını aşarak gelişmiş olur

DeserializeFromJson(Stream, Type, Object)

Newtonsoft.Json kitaplığını kullanarak belirtilen akıştan belirli bir türdeki nesneye JSON biçimindeki verileri seri durumdan kaldırır.

DeserializeFromJson<T>(Stream, Object)

Newtonsoft.Json kitaplığını kullanarak belirtilen akıştan belirli bir türdeki nesneye JSON biçimindeki verileri seri durumdan kaldırır.

GetData(Object, Stream)

Bir veri blobu alır. Nesnesinden bellek akışına veri yazar.

GetDeserializableObject(Stream)

Hedef uygulamanın İkili Serileştirmeyi desteklemeyebileceği durumlar için seri durumdan çıkarılabilir bir nesne almak için kullanılabilecek yardımcı yöntemi. Böyle durumlarda temel alınan biçim JSON kullanılarak seri hale getirilmelidir, böylece çağıranlar seri durumdan çıkarılmasını istedikleri nesnenin türünü belirlemek için tek tek özellikleri sorgulayabilir.

Serialize(Stream, Object)

Belirtilen nesneyi bir akış halinde serileştirir.

Varsayılan olarak, nesneleri aracılığıyla BinaryFormatterikili serileştirme kullanılarak serileştirilir. Ancak, hedef uygulama ikili serileştirmeyi desteklemiyorsa (ASP.NET Core 5.0+ uygulamalarda olduğu gibi), yöntem kullanılabilir JSON serileştirme teknolojisini kullanarak nesneyi seri hale getirir.

İşlem dışı görselleştiricilerde ikili serileştirme desteklenmez. Bu nedenle, bu yöntem bunları her zaman Newtonsoft.Json kitaplığını kullanarak seri hale getirecektir.

SerializeAsJson(Stream, Object, Object)

Newtonsoft.Json kitaplığını kullanarak belirtilen nesneyi JSON olarak seri hale getirerek bir akışa dönüştürür.

TransferData(Object, Stream, Stream)

UI tarafı görselleştirici türü IVisualizerObjectProvider.TransferData(Stream) veya IVisualizerObjectProvider.TransferObject(object) çağırdığında çağrılır.

Bu yöntem, kullanıcı arabirimi tarafı ve hata ayıklayıcı görselleştiricisi türleri arasında iletişim kurmak veya hata ayıklayıcı tarafı görselleştirici türü üzerinde özel eylemler çağırmak için özel bir ileti geçirme protokolü tanımlamak için kullanılabilir. UI tarafı görselleştirici türü, içinde incomingData seri hale getirilmiş rastgele verileri geçirebilir ve hata ayıklamaya dayalı görselleştirici türü, içinde outgoingDataseri hale getirilmiş rastgele verilerle yanıt verebilir.

Şunlara uygulanır