Sdílet prostřednictvím


XamlMember Třída

Definice

Poskytuje identifikátor systému typů XAML pro členy typů XAML. Identifikátor používají čtenáři XAML a zapisovače XAML během zpracování členských uzlů (při umístění čtečky XAML na StartMember) a také pro obecnou systémovou logiku typu XAML.

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)
Dědičnost
XamlMember
Odvozené
Implementuje

Poznámky

XamlMember může použít tři metodologie pro vrácení informací o členu XAML: standardní reflexe modulu CLR (Common Language Runtime); technika reflexe, která volá interní rozhraní API, která používají optimalizované bitové příznaky; nebo volání do virtuálních Lookup* přepsání rozhraní API, které je poskytováno možnými XamlMember podtřídami. Pro většinu použití rozhraní .NET Framework XAML Services API a XamlMember rozhraní API použijete výchozí kontext schématu XAML. Výchozí kontext schématu XAML pro služby XAML .NET Framework XAML Services používá backing CLR pro systém typů. To umožňuje čtenářům XAML a zapisovačům XAML pracovat s libovolným typem nebo členem, který je definován v modulu CLR a jeho technikách reflexe nebo jinak k dispozici.

Lookup* API a XamlMember – odvozené třídy

XamlMember definuje několik virtuálních členů, které mohou odvozené třídy přepsat. Tito členové mají názvy, které vždy začínají řetězcem Lookup. Zbytek názvu rozhraní API pak odkazuje na vlastnost, kterou ovlivňuje virtuální metoda. Odvozená XamlMember třída může například přepsat LookupTargetType , aby ovlivnila, co základní definovaná vlastnost TargetType vrací v odvozené třídě. Návratové hodnoty těchto vlastností můžete předpovědět v XamlMember existujících odvozených třídách čtením dokumentace pro příslušné Lookup* metody.

Účelem Lookup* metod je poskytnout metodu rozšíření systému typů XAML, která zahrnuje XamlMember základní třídu. Odvozením a XamlMember přepsáním virtuálních Lookup členů můžete definovat koncept člena XAML pro schéma XAML v systému typů XAML, aniž by bylo vázáno na specifika systému nebo technologie backingového typu. V tomto schématu můžete také použít zadaný kontext schématu XAML a přesto vrátit požadované výsledky.

Jako příklad zvažte XamlMember vlastnost IsWritePublic. Tato vlastnost informuje volající, že operace, jako je použití XamlWriter pro serializace může napsat hodnotu pro tohoto člena v cílovém objektu. Ve výchozí implementaci je určení, zda je člen zapisovatelný, je provedeno pomocí technik reflexe proti záložní CLR Type a jeho členů (dále MemberInfojen "). Systém typů XAML proto ve výchozím nastavení závisí na systému typů CLR. Tuto závislost však můžete odebrat pro generování sestav IsWritePublic systému typů XAML přepsáním rozhraní API LookupIsWritePublic. V rámci přepsání můžete použít další rozhodnutí, jako jsou metadata specifická pro vaši technologii, primární vyhledávací tabulku optimalizovanou pro pevný slovník XAML nebo řadu dalších strategií pro určení, jestli je člen XAML zapisovatelný ve slovníku XAML.

Vytváření xamlMember bez kontextu schématu XAML

Většina konstruktorů, které XamlMember vyžadují XamlSchemaContext jako součást jejich inicializace. Je XamlSchemaContext také nezbytné pro mnoho interních XamlSchemaContext operací, jako je získání informací předávaných z backingového typu. Při práci s rozhraním XamlMember API je obvykle XamlSchemaContext k dispozici z okolní konstrukce, jako XamlWriterje například . V tomto případě můžete předat XamlSchemaContext odkaz na všechna volání systému typů XAML, která vyžadují kontext schématu XAML.

Jeden konkrétní konstruktor , XamlMember(String, XamlType, Boolean)nevyžaduje XamlSchemaContext. Nicméně, XamlMember který je vytvořen s podpisem XamlMember(String, XamlType, Boolean) vrátí true pro IsUnknown.

Pro cestu načtení, která zahrnuje XamlObjectWriter, takový člen nelze zapsat do objektového grafu. Když použijete implementaci služeb XAML rozhraní .NET Framework, XamlObjectWriter.WriteStartMember volání vyvolá XamlObjectWriterException , když relevantní XamlMember sestavy true pro IsUnknown.

Neměli byste vytvořit hodnotu XamlMember , která má hodnotu true pro IsUnknown , pokud vaše implementace nedokáže zpracovat výjimky z XamlObjectWriter, nebo máte jiné způsoby, jak upravit XamlObjectWriter chování. Například jedna nebo více z následujících možností může být pravdivá pro vaši implementaci:

  • Kontext schématu XAML je k dispozici později.
  • Použijete vzor volatele člena.
  • Záměrně přepíšete XamlObjectWriter.WriteStartMember vlastní zapisovač XAML.

Konstruktory

Name Description
XamlMember(EventInfo, XamlSchemaContext, XamlMemberInvoker)

Inicializuje novou instanci XamlMember třídy pomocí systému EventInfo typů CLR a XamlSchemaContext, včetně XamlMemberInvoker informací.

XamlMember(EventInfo, XamlSchemaContext)

Inicializuje novou instanci XamlMember třídy pomocí systému EventInfo typů CLR a XamlSchemaContext.

XamlMember(PropertyInfo, XamlSchemaContext, XamlMemberInvoker)

Inicializuje novou instanci XamlMember třídy pomocí reflexe PropertyInfo a XamlSchemaContext, včetně XamlMemberInvoker informací.

XamlMember(PropertyInfo, XamlSchemaContext)

Inicializuje novou instanci XamlMember třídy pomocí systému PropertyInfo typů CLR a XamlSchemaContext.

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

Inicializuje novou instanci XamlMember třídy pro XamlMember , která představuje připojitelnou vlastnost, včetně XamlMemberInvoker informací.

XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext)

Inicializuje novou instanci XamlMember třídy pro XamlMember , která představuje připojitelnou vlastnost.

XamlMember(String, MethodInfo, XamlSchemaContext, XamlMemberInvoker)

Inicializuje novou instanci XamlMember třídy pro XamlMember , která představuje připojitelnou událost, včetně XamlMemberInvoker informací.

XamlMember(String, MethodInfo, XamlSchemaContext)

Inicializuje novou instanci XamlMember třídy pro XamlMember , která představuje připojitelnou událost.

XamlMember(String, XamlType, Boolean)

Inicializuje novou instanci XamlMember třídy pomocí názvu řetězce a deklaruje XamlType informace. Objekt XamlMember vytvořený tímto podpisem má významná omezení.

Vlastnosti

Name Description
DeclaringType

XamlType Získá pro typ, který deklaruje člen, který je přidružen k tomuto XamlMember.

DeferringLoader

XamlValueConverter<TConverterBase> Získá objekt, který se používá k odloženému načítání deklarovaných objektů XAML.

DependsOn

Získá seznam XamlMember objektů. Tyto sestavy hlásí členy, ve kterých existují relace závislostí pro inicializační pořadí vzhledem k tomuto XamlMember.

Invoker

Získá implementaci XamlMemberInvoker , která je přidružena k tomuto XamlMember.

IsAmbient

Získá hodnotu, která označuje, zda je hlášena XamlMember jako okolí vlastnost.

IsAttachable

Získá hodnotu, která označuje, zda je to XamlMember připojitelný člen.

IsDirective

Získá hodnotu, která označuje, zda se jedná XamlMember o direktivu XAML.

IsEvent

Získá hodnotu, která označuje, zda to XamlMember představuje člena události.

IsNameValid

Získá hodnotu, která označuje, zda je inicializován XamlMember s platným xamlName řetězcem jako jeho Name.

IsReadOnly

Získá hodnotu, která označuje, zda představuje XamlMember člen jen pro čtení.

IsReadPublic

Získá hodnotu, která označuje, zda představuje XamlMember člena s volatelným veřejným get příslušenstvím.

IsUnknown

Získá hodnotu, která určuje, zda člen není přeložitelný systémem backing, který se používá pro typ a rozlišení člena.

IsWriteOnly

Získá hodnotu, která označuje, zda představuje XamlMember člen jen pro zápis.

IsWritePublic

Získá hodnotu, která označuje, zda představuje XamlMember člen, který má volatelný veřejný set přístup.

MarkupExtensionBracketCharacters

Definuje počáteční a pravou hranatý závorku pro rozšíření značek.

Name

xamlName Získá řetězec názvu, který deklaruje toto XamlMember.

PreferredXamlNamespace

Získá jeden identifikátor URI oboru názvů XAML, který identifikuje primární obor názvů XAML pro tento XamlMember.

SerializationVisibility

DesignerSerializationVisibility Získá hodnotu, která označuje, jak má vizuální návrhář zpracovat člena.

TargetType

XamlType Získá typ, kde XamlMember může existovat.

Type

XamlType Získá typ, který je používán členem.

TypeConverter

XamlValueConverter<TConverterBase> Získá objekt, který lze použít pro typ převod konstrukce XAML deklarované objekty.

UnderlyingMember

Získá systém MemberInfo typů CLR, který je k dispozici pro člen, který je vytvořen PropertyInfopomocí , MethodInfonebo EventInfo.

ValueSerializer

XamlValueConverter<TConverterBase> Získá objekt, který se používá pro serializaci hodnot deklarovaných objektů XAML.

Metody

Name Description
Equals(Object)

Určuje, zda je aktuální objekt roven jinému objektu.

Equals(XamlMember)

Určuje, zda je aktuální objekt roven jinému objektu stejného typu.

GetHashCode()

Vrátí kód hash pro tento objekt.

GetType()

Získá Type aktuální instance.

(Zděděno od Object)
GetXamlNamespaces()

Vrátí seznam oborů názvů XAML, kde může tento člen XAML existovat.

LookupCustomAttributeProvider()

Při implementaci v odvozené třídě vrátí implementaci ICustomAttributeProvider .

LookupDeferringLoader()

XamlValueConverter<TConverterBase> Vrátí objekt, který se používá k odloženému načítání deklarovaných objektů XAML.

LookupDependsOn()

Vrátí seznam XamlMember objektů. Položky v seznamu hlásí členy, ve kterých existují relace závislostí pro inicializační pořadí vzhledem k tomuto XamlMember.

LookupInvoker()

XamlMemberInvoker Vrátí hodnotu, která je přidružena k tomuto XamlMember.

LookupIsAmbient()

Vrátí, zda je tato XamlMember vlastnost hlášena jako okolí vlastnost.

LookupIsEvent()

Vrátí, zda to XamlMember představuje událost.

LookupIsReadOnly()

Vrátí, zda to XamlMember představuje zamýšlenou vlastnost jen pro čtení.

LookupIsReadPublic()

Vrátí, zda to XamlMember představuje vlastnost, která má veřejný get přístup.

LookupIsUnknown()

Vrátí, zda představuje XamlMember člena, který nelze přeložit backingovým systémem, který se používá pro typ a rozlišení člena.

LookupIsWriteOnly()

Vrátí, zda představuje XamlMember člen, který má veřejný set přístup, ale nikoli veřejný get přístup.

LookupIsWritePublic()

Vrátí, zda představuje XamlMember člena, který má veřejný set přístup.

LookupMarkupExtensionBracketCharacters()

Vrátí levou a pravou hranatý závorku pro rozšíření značek.

LookupTargetType()

XamlType Vrátí typ, ve XamlMember kterém může existovat.

LookupType()

XamlType Vrátí typ, který člen používá.

LookupTypeConverter()

Vrátí implementaci převaděče typů, která je přidružena k tomuto XamlMember.

LookupUnderlyingGetter()

Vrátí přístupový objekt get přidružený k tomuto XamlMemberobjektu .

LookupUnderlyingMember()

Vrátí systém MemberInfo typů CLR, který je přidružen k tomuto XamlMember.

LookupUnderlyingSetter()

Vrátí přístupový objekt set přidružený k tomuto XamlMemberobjektu .

LookupValueSerializer()

Vrátí hodnotu serializátor implementace, která je přidružena k tomuto XamlMember.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězcovou reprezentaci tohoto XamlMember.

Operátory

Name Description
Equality(XamlMember, XamlMember)

Určuje, zda dva zadané XamlMember objekty mají stejnou hodnotu.

Inequality(XamlMember, XamlMember)

Určuje, zda dva zadané XamlMember objekty mají různé hodnoty.

Platí pro

Viz také