IVisualizerObjectProvider3 Arabirim
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Görselleştirici hata ayıklayıcı ve debuggee tarafı bileşenlerinin hangi serileştirme mekanizmasında kullanılacağına eşgüdüm sağlamasına olanak tanır ve hata ayıklamaya veri geçirmek için ek işlevsellik sağlar.SelectedFormatterPolicy
public interface IVisualizerObjectProvider3 : Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider2
type IVisualizerObjectProvider3 = interface
interface IVisualizerObjectProvider2
interface IVisualizerObjectProvider
Public Interface IVisualizerObjectProvider3
Implements IVisualizerObjectProvider2
- Uygulamalar
Özellikler
| IsBinaryFormatterSupported |
.NET 5'te kullanım dışı bırakıldığından debuggee'nin 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ştirilen veri nesnesinin değiştirilebilir (okuma/yazma) veya yer değiştirilemez (salt okunur) olup olmadığını belirler. (Devralındığı yer: IVisualizerObjectProvider) |
| SelectedFormatterPolicy |
Bu sınıfın bilgileri serileştirirken/seri durumdan çıkarırken kullanacağı biçim ilkesi. |
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 oluşturur. İ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. (Devralındığı yer: IVisualizerObjectProvider2) |
| DeserializeFromJson<T>(Stream, Object) |
Newtonsoft.Json biçimindeki verileri belirtilen akıştan belirli bir türdeki bir nesneye seri durumdan kaldırır. |
| 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. (Devralındığı yer: IVisualizerObjectProvider2) |
| 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 arayanlar seri durumdan çıkarılmasını istedikleri nesnenin türünü belirlemek için tek tek özellikleri sorgulayabilir. (Devralındığı yer: IVisualizerObjectProvider2) |
| 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) |
| GetObject<T>() |
kullanarak GetData() verileri alır ve belirtilen türe seri durumdan çıkarmaya çalışır. |
| ReplaceData(Stream) |
Verilen serileştirilmiş verileri temel alarak nesnenin yeni 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 varsayılan olarak kullanılır. (Devralındığı yer: IVisualizerObjectProvider2) |
| 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 veriler seri durumdan çıkarılır ve bir IDeserializableObject içinde sarmalanan nesneyi döndürür. (Devralındığı yer: IVisualizerObjectProvider2) |
| 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 veriler seri durumdan çıkarılır ve seri durumdan çıkarılmış nesne döndürülüyor (Devralındığı yer: IVisualizerObjectProvider) |
| TransferObject<T>(Object) |
ve öğesini kullanarak SelectedFormatterPolicy giden nesneyi seri hale getirerek öğesini çağırır TransferData(Stream). Dönüşte, gelen verileri seri durumdan çıkarmaya çalışır ve belirtilen türdeki nesneyi döndürür. |