XamlMember Sınıf

Tanım

XAML türlerinin üyeleri için XAML türü sistem tanımlayıcısını sağlar. Tanımlayıcı, üye düğümlerinin işlenmesi sırasında (XAML okuyucusu bir StartMemberüzerinde konumlandırıldığında) ve genel XAML türü sistem mantığı için XAML okuyucuları ve XAML yazıcıları tarafından kullanılır.

public ref class XamlMember : IEquatable<System::Xaml::XamlMember ^>
public class XamlMember : IEquatable<System.Xaml.XamlMember>
type XamlMember = class
    interface IEquatable<XamlMember>
Public Class XamlMember
Implements IEquatable(Of XamlMember)
Devralma
XamlMember
Türetilmiş
Uygulamalar

Açıklamalar

XamlMemberbir XAML üyesi hakkında bilgi döndürmek için üç yöntem kullanabilir: standart ortak dil çalışma zamanı (CLR) yansıması; iyileştirilmiş bit bayrakları kullanan iç API'leri çağıran yalnızca başvuru yansıma tekniği; veya olası Lookup* alt sınıflar tarafından sağlanan API'nin XamlMember sanal geçersiz kılmalarını çağırma. .NET Framework XAML Hizmetleri API'lerinin ve API'nin çoğu kullanımı için XamlMember varsayılan XAML şema bağlamını kullanırsınız. .NET Framework XAML Hizmetleri için varsayılan XAML şeması bağlamı, tür sistemi için CLR desteği kullanır. Bu, XAML okuyucularının ve XAML yazıcılarının CLR ve yansıma tekniklerinde tanımlanan veya başka bir şekilde kullanılabilen herhangi bir tür veya üyeyle çalışmasını sağlar.

Lookup* API'leri ve XamlMember Türetilmiş Sınıfları

XamlMember türetilmiş sınıfların geçersiz kabileceği birkaç sanal üye tanımlar. Bu üyelerin her zaman dizesiyle Lookupbaşlayan adları vardır. ARDıNDAN API adının geri kalanı, sanal yöntemin etkilediği özelliğe başvurur. Örneğin, türetilmiş bir XamlMember sınıf, temel tanımlı özelliğin LookupTargetType türetilmiş bir sınıfta döndürdüğü işlevi etkilemek için geçersiz kabilirTargetType. İlgili XamlMember yöntemlerin belgelerini okuyarak veya mevcut türetilmiş sınıflarda Lookup* bu tür özellikler için dönüş değerlerini tahmin edebilirsiniz.

Yöntemlerin Lookup* amacı, temel sınıfı içeren bir XAML türü sistem uzantısı tekniği sağlamaktır XamlMember . Sanal üyelerden XamlMember türeterek ve geçersiz kılarak Lookup , bir XAML türü sistemindeki bir XAML şeması için bir XAML üyesi kavramını, bir yedekleme türü sisteminin veya teknolojisinin özelliklerine bağlı kalmadan tanımlayabilirsiniz. Bu şema altında sağlanan bir XAML şeması bağlamını da kullanabilir ve yine de istediğiniz sonuçları döndürebilirsiniz.

Örneğin özelliğini XamlMembergöz önünde bulundurunIsWritePublic. Bu özellik, çağıranları serileştirme için kullanma XamlWriter gibi işlemlerin hedef nesneye bu üye için bir değer yazabileceğini bildirir. Varsayılan uygulamada, üyenin yazılabilir olup olmadığının belirlenmesi, arkadaki CLR'ye Type ve üyelerine (the MemberInfo) karşı yansıma teknikleri kullanılarak yapılır. Bu nedenle, varsayılan olarak, XAML türü sistemi CLR tür sistemine bağlıdır. Ancak, API'yi IsWritePublicgeçersiz kılarak XAML türü sistem raporlamanız LookupIsWritePublic için bu bağımlılığı kaldırabilirsiniz. Geçersiz kılma işleminizde, teknolojinize özgü meta veriler, sabit bir XAML sözlüğü için iyileştirilmiş bir birincil arama tablosu veya XAML üyesinin XAML sözlüğünüzde yazılabilir olup olmadığını belirlemek için çeşitli başka stratejiler gibi diğer belirlemeleri kullanabilirsiniz.

XAML Şema Bağlamı Olmadan XamlMember Oluşturma

oluşturucularının XamlMember çoğu, başlatmalarının bir parçası olarak gerektirir XamlSchemaContext . XamlSchemaContext ayrıca, yedekleme türünden iletilen bilgileri alma gibi birçok iç XamlSchemaContext işlem için de gereklidir. API ile XamlMember çalışırken, genellikle gibi çevresindeki bir yapıdan kullanılabilen bir XamlSchemaContextöğesine sahipsinizdirXamlWriter. Bu durumda, başvuruyu bir XAML şema bağlamı XamlSchemaContext gerektiren tüm XAML türü sistem çağrılarına geçirebilirsiniz.

Belirli bir oluşturucu olan XamlMember(String, XamlType, Boolean), gerektirmez XamlSchemaContext. Ancak, imzası ile XamlMember birlikte yapılan bir XamlMember(String, XamlType, Boolean) için truedöndürürIsUnknown.

içeren XamlObjectWriterbir yük yolu için, böyle bir üye bir nesne grafiğine yazılamaz. .NET Framework XAML hizmetleri uygulamasını kullanarak, XamlObjectWriter.WriteStartMember çağrısı için XamlObjectWriterExceptionilgili XamlMember raporlar true olduğunda bir IsUnknown oluşturur.

Uygulamanız uygulamasından XamlMembergelen özel durumları işleyemedikçe veya davranışı ayarlamak true için IsUnknown başka yollarınız olmadığı sürece için değerine XamlObjectWriter sahip bir oluşturmamalısınızXamlObjectWriter. Örneğin, uygulamanız için aşağıdakilerden biri veya daha fazlası doğru olabilir:

  • XAML şema bağlamı daha sonra kullanılabilir.
  • Üye çağırıcı deseni kullanırsınız.
  • Özel bir XAML yazıcısında kasıtlı olarak geçersiz kılarsınız XamlObjectWriter.WriteStartMember .

Oluşturucular

Name Description
XamlMember(EventInfo, XamlSchemaContext, XamlMemberInvoker)

CLR tür sistemini XamlMember ve bilgilerini içeren EventInfo bir kullanarak sınıfının yeni bir XamlSchemaContextörneğini XamlMemberInvoker başlatır.

XamlMember(EventInfo, XamlSchemaContext)

CLR tür sistemi XamlMember ve kullanarak sınıfının yeni bir EventInfoörneğini XamlSchemaContext başlatır.

XamlMember(PropertyInfo, XamlSchemaContext, XamlMemberInvoker)

yansımasını XamlMember ve bilgilerini içeren PropertyInfo bir kullanarak sınıfının yeni bir XamlSchemaContextörneğini XamlMemberInvoker başlatır.

XamlMember(PropertyInfo, XamlSchemaContext)

CLR tür sistemi XamlMember ve kullanarak sınıfının yeni bir PropertyInfoörneğini XamlSchemaContext başlatır.

XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext, XamlMemberInvoker)

bilgileri de dahil olmak üzere XamlMember eklenebilir bir özelliği temsil eden için XamlMember sınıfının yeni bir örneğini XamlMemberInvoker başlatır.

XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext)

eklenebilir bir özelliği temsil eden için XamlMember sınıfının yeni bir örneğini XamlMember başlatır.

XamlMember(String, MethodInfo, XamlSchemaContext, XamlMemberInvoker)

Eklenebilir bir olayı temsil eden bir XamlMember için sınıfının yeni bir örneğini XamlMember başlatır.XamlMemberInvoker

XamlMember(String, MethodInfo, XamlSchemaContext)

eklenebilir bir olayı temsil eden için XamlMember sınıfının yeni bir örneğini XamlMember başlatır.

XamlMember(String, XamlType, Boolean)

Bir dize adı kullanarak ve bilgi bildirerek XamlMember sınıfının yeni bir örneğini XamlType başlatır. XamlMember Bu imza ile yapılan bir önemli sınırlamaları vardır.

Özellikler

Name Description
DeclaringType

XamlType bu XamlMemberile ilişkili üyeyi bildiren türü için öğesini alır.

DeferringLoader

XAML tarafından bildirilen nesnelerin ertelenmiş yüklenmesi için kullanılan bir XamlValueConverter<TConverterBase> nesnesi alır.

DependsOn

Nesnelerin listesini XamlMember alır. Bunlar, başlatma sırası için bağımlılık ilişkilerinin bu XamlMemberöğesine göre mevcut olduğu üyeleri rapor eder.

Invoker

XamlMemberInvoker Bu XamlMemberile ilişkili uygulamayı alır.

IsAmbient

Bunun XamlMember bir ortam özelliği olarak bildirilip bildirildiğini belirten bir değer alır.

IsAttachable

Bunun XamlMember eklenebilir üye olup olmadığını gösteren bir değer alır.

IsDirective

Bunun XamlMember bir XAML yönergesi olup olmadığını gösteren bir değer alır.

IsEvent

Bunun XamlMember bir olay üyesini temsil edip etmediğini gösteren bir değer alır.

IsNameValid

Bunun XamlMember olarak geçerli xamlName bir dizeyle Namebaşlatılıp başlatılmadığını gösteren bir değer alır.

IsReadOnly

Bunun XamlMember salt okunur bir üyeyi temsil edip etmediğini gösteren bir değer alır.

IsReadPublic

Bunun çağrılabilen ortak XamlMember erişimciye sahip bir üyeyi temsil edip etmediğini get gösteren bir değer alır.

IsUnknown

Üyenin, tür ve üye çözümlemesi için kullanılan yedekleme sistemi tarafından çözümlenemeyeceğini gösteren bir değer alır.

IsWriteOnly

Bunun XamlMember salt yazma üyesini temsil edip etmediğini gösteren bir değer alır.

IsWritePublic

Bunun çağrılabilen ortak XamlMember erişimciye sahip bir üyeyi temsil edip etmediğini set gösteren bir değer alır.

MarkupExtensionBracketCharacters

İşaretlemeyi genişletme için açma ve kapatma köşeli ayraç karakterlerini tanımlar.

Name

xamlName Bunu XamlMemberbildiren ad dizesini alır.

PreferredXamlNamespace

Bu XamlMemberiçin birincil XAML ad alanını tanımlayan tek bir XAML ad alanı URI'sini alır.

SerializationVisibility

Görsel tasarımcının üyeyi nasıl işlemesi gerektiğini gösteren bir DesignerSerializationVisibility değer alır.

TargetType

XamlType öğesinin bulunabileceği türü XamlMember alır.

Type

XamlType Üye tarafından kullanılan türü alır.

TypeConverter

XAML tarafından bildirilen nesnelerin tür dönüştürme yapısı için kullanılabilecek bir XamlValueConverter<TConverterBase> nesnesi alır.

UnderlyingMember

, MemberInfoveya PropertyInfotarafından MethodInfooluşturulduğunda bir üye için kullanılabilen CLR tür sistemini EventInfo alır.

ValueSerializer

XAML tarafından bildirilen nesnelerin değer serileştirmesi için kullanılan bir XamlValueConverter<TConverterBase> nesnesi alır.

Yöntemler

Name Description
Equals(Object)

Geçerli nesnenin başka bir nesneye eşit olup olmadığını gösterir.

Equals(XamlMember)

Geçerli nesnenin aynı türdeki başka bir nesneye eşit olup olmadığını gösterir.

GetHashCode()

Bu nesnenin karma kodunu döndürür.

GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
GetXamlNamespaces()

Bu XAML üyesinin bulunabileceği XAML ad alanlarının listesini döndürür.

LookupCustomAttributeProvider()

Türetilmiş bir sınıfta uygulandığında bir ICustomAttributeProvider uygulama döndürür.

LookupDeferringLoader()

XAML tarafından bildirilen nesnelerin ertelenmiş yüklenmesi için kullanılan bir XamlValueConverter<TConverterBase> nesne döndürür.

LookupDependsOn()

Nesnelerin listesini XamlMember döndürür. Listedeki öğeler, başlatma sırası için bağımlılık ilişkilerinin bu XamlMemberöğesine göre mevcut olduğu üyeleri rapor eder.

LookupInvoker()

Bu XamlMemberInvokerile ilişkili bir XamlMember döndürür.

LookupIsAmbient()

Bunun XamlMember bir ortam özelliği olarak bildirilip bildirmediğini döndürür.

LookupIsEvent()

Bunun XamlMember bir olayı temsil edip etmediğini döndürür.

LookupIsReadOnly()

Bunun XamlMember hedeflenen bir salt okunur özelliği temsil edip etmediğini döndürür.

LookupIsReadPublic()

Bunun XamlMember ortak get erişimciye sahip bir özelliği temsil edip etmediğini döndürür.

LookupIsUnknown()

Bunun XamlMember , tür ve üye çözümlemesi için kullanılan yedekleme sistemi tarafından çözümlenemeyen bir üyeyi temsil edip etmediğini döndürür.

LookupIsWriteOnly()

Bunun XamlMember ortak erişimciye sahip olan ancak ortak set erişimci olmayan bir get üyeyi temsil edip etmediğini döndürür.

LookupIsWritePublic()

Bunun XamlMember ortak set erişimcisi olan bir üyeyi temsil edip etmediğini döndürür.

LookupMarkupExtensionBracketCharacters()

İşaretlemeyi genişletmenin açma ve kapatma köşeli ayraç karakterlerini döndürür.

LookupTargetType()

XamlType öğesinin bulunabileceği türü XamlMember döndürür.

LookupType()

XamlType Üye tarafından kullanılan türü döndürür.

LookupTypeConverter()

Bu XamlMemberile ilişkili bir tür dönüştürücü uygulaması döndürür.

LookupUnderlyingGetter()

Bu getile ilişkili bir XamlMember erişimci döndürür.

LookupUnderlyingMember()

Bu MemberInfoile ilişkilendirilmiş bir CLR türü sistemi XamlMember döndürür.

LookupUnderlyingSetter()

Bu setile ilişkili bir XamlMember erişimci döndürür.

LookupValueSerializer()

Bu XamlMemberile ilişkili bir değer serileştiricisi uygulaması döndürür.

MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Bunun XamlMemberdize gösterimini döndürür.

İşleçler

Name Description
Equality(XamlMember, XamlMember)

Belirtilen XamlMember iki nesnenin aynı değere sahip olup olmadığını belirler.

Inequality(XamlMember, XamlMember)

Belirtilen XamlMember iki nesnenin farklı değerlere sahip olup olmadığını belirler.

Şunlara uygulanır

Ayrıca bkz.