Aracılığıyla paylaş


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ı XamlMember alt sınıflar tarafından sağlanan API'nin Lookup* 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 TargetType türetilmiş bir sınıfta döndürdüğü işlevi etkilemek için geçersiz kabilirLookupTargetType. İlgili Lookup* yöntemlerin belgelerini okuyarak veya mevcut türetilmiş sınıflarda XamlMember 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 IsWritePublicgöz önünde bulundurunXamlMember. 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 LookupIsWritePublicgeçersiz kılarak XAML türü sistem raporlamanız IsWritePublic 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 XamlWriteröğesine sahipsinizdirXamlSchemaContext. 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(String, XamlType, Boolean) birlikte yapılan bir XamlMember için IsUnknowndöndürürtrue.

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 IsUnknownilgili XamlMember raporlar true olduğunda bir XamlObjectWriterException oluşturur.

Uygulamanız uygulamasından XamlObjectWritergelen özel durumları işleyemedikçe veya davranışı ayarlamak XamlObjectWriter için IsUnknown başka yollarınız olmadığı sürece için değerine true sahip bir oluşturmamalısınızXamlMember. Ö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 EventInfo ve bilgilerini içeren XamlMemberInvoker bir kullanarak sınıfının yeni bir XamlSchemaContextörneğini XamlMember başlatır.

XamlMember(EventInfo, XamlSchemaContext)

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

XamlMember(PropertyInfo, XamlSchemaContext, XamlMemberInvoker)

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

XamlMember(PropertyInfo, XamlSchemaContext)

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

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

bilgileri de dahil olmak üzere XamlMemberInvoker 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, 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 XamlType sınıfının yeni bir örneğini XamlMember 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 get erişimciye sahip bir üyeyi temsil edip etmediğini XamlMember 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 set erişimciye sahip bir üyeyi temsil edip etmediğini XamlMember 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

, MethodInfoveya EventInfotarafından PropertyInfooluşturulduğunda bir üye için kullanılabilen CLR tür sistemini MemberInfo 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 XamlMemberile ilişkili bir XamlMemberInvoker 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 XamlMemberile ilişkili bir get erişimci döndürür.

LookupUnderlyingMember()

Bu XamlMemberile ilişkilendirilmiş bir CLR türü sistemi MemberInfo döndürür.

LookupUnderlyingSetter()

Bu XamlMemberile ilişkili bir set 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.