DebuggerTypeProxy Özniteliğini (C#, Visual Basic, C++/CLI) kullanarak hata ayıklayıcıya hangi türün göstereceğini bildirin

DebuggerTypeProxyAttribute bir tür için bir ara sunucu veya stand-in belirtir ve türün hata ayıklayıcı pencerelerinde görüntülenme şeklini değiştirir. Proxy'si olan bir değişkeni görüntülediğinizde, ara sunucu görüntüdeki özgün türün kısaltmasını alır. Hata ayıklayıcısı değişken penceresi yalnızca ara sunucu türünün genel üyelerini görüntüler. Özel üyeler görüntülenmez.

Bu öznitelik şu özelliklere uygulanabilir:

  • Yapılar
  • Sınıflar
  • Bütünleştirilmiş kodlar

Dekont

Yerel kod için bu öznitelik yalnızca C++/CLI kodunda desteklenir.

Tür ara sunucusu sınıfı, ara sunucu tarafından değiştirilecek türde bir bağımsız değişken alan bir oluşturucuya sahip olmalıdır. Hata ayıklayıcı, hedef türün değişkenini her görüntülemesi gerektiğinde ara sunucu sınıfının yeni bir örneğini oluşturur. Bunun performans üzerindeki etkileri olabilir. Sonuç olarak, oluşturucuda kesinlikle gerekli olandan daha fazla iş yapmamalısınız.

Performans cezalarını en aza indirmek için, kullanıcı hata ayıklayıcı penceresinde + simgesine tıklayarak veya kullanımıyla DebuggerBrowsableAttributetür genişletilmediği sürece, ifade değerlendirici türün görüntü proxy'sindeki öznitelikleri incelemez. Bu nedenle, öznitelikleri görüntü türünün kendisine yerleştirmemelisiniz. Öznitelikler görüntü türünün gövdesinde kullanılabilir ve kullanılmalıdır.

Tür proxy'sinin özniteliğinin hedeflendiği sınıfın içinde özel bir iç içe sınıf olması iyi bir fikirdir. Bu, iç üyelere kolayca erişmesini sağlar.

DebuggerTypeProxyAttribute devralınabilir, bu nedenle bir tür ara sunucusu temel sınıfta belirtilirse, türetilmiş sınıflar kendi tür ara sunucusunu belirtmediği sürece türetilmiş sınıflara uygulanır.

Derleme düzeyinde kullanılırsa DebuggerTypeProxyAttribute , Target parametresi ara sunucunun değiştireceği türü belirtir.

ve DebuggerTypeProxyAttributeile DebuggerDisplayAttribute birlikte bu özniteliğin nasıl kullanılacağına ilişkin bir örnek için bkz. DebuggerDisplay Özniteliğini Kullanma.

Önemli

Araçlar / Seçenekler / Hata Ayıklama iletişim kutusunda Değişkenlerin ham yapısını göster onay kutusu seçiliyse, DebuggerDisplay öznitelik yoksayılır.

DebuggerTypeProxy ile Genel Türleri Kullanma

Genel kullanıma yönelik destek sınırlıdır. C# için yalnızca DebuggerTypeProxy açık türleri destekler. Yapılandırılmamış tür olarak da adlandırılan açık tür, tür parametreleri için bağımsız değişkenlerle örneklenmemiş genel bir türdür. Yapılı türler olarak da adlandırılan kapalı türler desteklenmez.

Açık bir türün söz dizimi şöyle görünür:

Namespace.TypeName<,>

içinde DebuggerTypeProxyhedef olarak genel bir tür kullanıyorsanız, bu söz dizimlerini kullanmanız gerekir. Mekanizma sizin DebuggerTypeProxy için tür parametrelerini çıkarsar.

C# dilinde açık ve kapalı türler hakkında daha fazla bilgi için bkz . C# Dil Belirtimi, bölüm 20.5.2 Açık ve kapalı türler.

Visual Basic'te açık tür söz dizimi olmadığından, aynı şeyi Visual Basic'te yapamazsınız. Bunun yerine, açık tür adının dize gösterimini kullanmanız gerekir.

"Namespace.TypeName'2"