IVisualizerObjectProvider2 Arabirim

Tanım

Hata ayıklayıcıdan görselleştiriciye veri geçirmek için ek işlevsellik sağlar.

public interface class IVisualizerObjectProvider2 : Microsoft::VisualStudio::DebuggerVisualizers::IVisualizerObjectProvider
public interface IVisualizerObjectProvider2 : Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider
type IVisualizerObjectProvider2 = interface
    interface IVisualizerObjectProvider
Public Interface IVisualizerObjectProvider2
Implements IVisualizerObjectProvider
Türetilmiş
Uygulamalar

Açıklamalar

IVisualizerObjectProvider VS 16.10 için ileriye doğru 'nin Show(IDialogVisualizerService, IVisualizerObjectProvider) yöntemine geçirilen DialogDebuggerVisualizernesne bu türde olduğundan, bu yeni işlevi kullanmak için bunu atamanız gerekir.

Özellikler

IsBinaryFormatterSupported

Debuggee'nin .NET 5'te kullanım dışı bırakıldığı için BinaryFormatter'i desteklediğini belirtir. Aksi takdirde sağlayıcı, görselleştiriciyle iletişim kurmak için en çok JSON kullanır.

(Devralındığı yer: IVisualizerObjectProvider)
IsObjectReplaceable

Değiştirme nesnesinin oluşturulup oluşturulamayacağını belirtir. Yani, görselleştirilmekte olan veri nesnesinin değiştirilebilir (okuma/yazma) veya yerleştirilebilir (salt okunur) olup olmadığını belirler.

(Devralındığı yer: IVisualizerObjectProvider)

Yöntemler

Deserialize(Stream)
Geçersiz.

Seri durumdan çıkarma 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ış okunur ve temel alınan nesneyi döndürüriz.

GetData()

Hata ayıklanan nesneyle ilgili ilk veri blobunu alır. Veriler sağlanan MemoryStream'e yazılır.

(Devralındığı yer: IVisualizerObjectProvider)
GetDeserializableObject()

GetData kullanarak verileri alır ve varsayılan serileştirme desteklenmiyorsa çağıranın JSON ile seri durumdan çıkarabilmesi için bir IDeserializableObject döndürür.

GetDeserializableObjectFrom(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.

GetObject()
Geçersiz.

GetData kullanarak verileri alır ve ardından varsayılan serileştirmenin yapıldığını varsayarak seri durumdan çıkarılır

(Devralındığı yer: IVisualizerObjectProvider)
ReplaceData(Stream)

Verilen serileştirilmiş verileri temel alarak nesnenin yedek bir kopyasını oluşturur.

(Devralındığı yer: IVisualizerObjectProvider)
ReplaceObject(Object)

Varsayılan serileştirmeyi kullanarak nesneyi serileştirir ve ardından ReplaceData kullanarak verileri ayarlar

(Devralındığı yer: IVisualizerObjectProvider)
Serialize(Object, Stream)

Serileştirme kodu yazmayı kolaylaştıran yardımcı yöntemi.

Hedef uygulama İkili Serileştirmeyi destekliyorsa, BinaryFormatter sınıfının yardımıyla nesneyi akışa seri hale getirir. Bu desteklenmiyorsa ( .NET'in daha yeni sürümlerinde böyledir), nesneyi JSON biçiminde seri hale getirmek için varsayılan olarak kullanılır.

TransferData(Stream)

VisualizerObjectSource üzerindeki TransferData yöntemine verileri çift yönlü olarak aktarır

(Devralındığı yer: IVisualizerObjectProvider)
TransferDeserializableObject(Object)

IDeserializableObject olarak kullanarak giden nesneyi serileştirir ve ardından TransferData'yi çağırır. Dönüşte, gelen verilerin seri durumdan çıkarılır ve bir IDeserializableObject içinde sarmalanan nesnesi döndürülür.

TransferObject(Object)
Geçersiz.

Varsayılan serileştirmeyi kullanarak giden nesneyi serileştirir ve ardından TransferData'yi çağırır. Dönüşte gelen verileri seri durumdan çıkartır ve seri durumdan çıkarılmış nesneyi döndürür

(Devralındığı yer: IVisualizerObjectProvider)

Şunlara uygulanır