XamlMember Třída

Definice

Poskytuje identifikátor systému typů XAML pro členy typů XAML. Identifikátor se používá čtenáři XAML a zapisovači XAML při zpracování členských uzlů (když je čtečka XAML umístěna 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: reflexe modulu CLR (Standard Common Language Runtime); technika reflexe pouze odkazu, která volá interní rozhraní API, která používají optimalizované bitové příznaky; nebo volání virtuálních Lookup* přepsání rozhraní API, které poskytuje možné XamlMember podtřídy. 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 rozhraní .NET Framework používá zálohování 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 pro který je jinak dostupný.

Rozhraní API lookup* a odvozené třídy XamlMember

XamlMember definuje několik virtuálních členů, které mohou odvozené třídy přepsat. Tyto členy mají názvy, které vždy začínají řetězcem Lookup. Zbývající část názvu rozhraní API pak odkazuje na vlastnost, kterou ovlivňuje virtuální metoda. Například odvozená XamlMember třída může přepsat LookupTargetType , aby ovlivnila, co vrátí vlastnost TargetType definovaná na základě základu v odvozené třídě. Návratové hodnoty těchto vlastností v XamlMember nebo existujících odvozených třídách můžete předpovědět na základě dokumentace k příslušným Lookup* metodám.

Účelem Lookup* metod je poskytnout techniku rozšíření systému typu XAML, která zahrnuje XamlMember základní třídu. Odvozením a XamlMember přepsáním Lookup virtuálních členů můžete definovat koncept člena XAML pro schéma XAML v systému typů XAML bez vazby na specifika systému nebo technologie záložní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.

Představte si XamlMember například vlastnost IsWritePublic. Tato vlastnost informuje volající, že operace, jako je například použití XamlWriter pro serializaci, mohou zapisovat hodnotu pro tohoto člena na cílový objekt. Ve výchozí implementaci se určuje, jestli je člen zapisovatelný, pomocí technik reflexe proti backing CLR Type a jeho členům ().MemberInfo Proto ve výchozím nastavení závisí systém typů XAML na systému typů CLR. Tuto závislost však můžete odebrat pro generování sestav IsWritePublic systému typu XAML přepsáním rozhraní API LookupIsWritePublic. V rámci přepsání můžete použít další určení, například metadata specifická pro vaši technologii, primární vyhledávací tabulku optimalizovanou pro pevnou slovní zásobu XAML nebo řadu dalších strategií pro určení, jestli je člen XAML ve vašem slovníku XAML zapisovatelný.

Sestavení XamlMember bez kontextu schématu XAML

Většina konstruktorů XamlMember vyžaduje XamlSchemaContext jako součást své inicializace. Je XamlSchemaContext také nezbytný pro mnoho interních XamlSchemaContext operací, jako je získání informací, které se předávají z typu podkladu. Při práci s rozhraním XamlMember API obvykle máte XamlSchemaContext k dispozici objekt, který je k dispozici z okolního konstruktoru XamlWriter, jako je . V tomto případě můžete předat XamlSchemaContext odkaz na všechna systémová volání typu XAML, která vyžadují kontext schématu XAML.

Jeden konkrétní konstruktor , XamlMember(String, XamlType, Boolean)nevyžaduje XamlSchemaContext. Objekt, který je vytvořen s podpisemXamlMember(String, XamlType, Boolean), XamlMember však vrátí true hodnotu .IsUnknown

Pro cestu načítání, která zahrnuje XamlObjectWriter, nelze takový člen zapsat do grafu objektů. Při použití implementace XamlObjectWriter.WriteStartMember služeb XAML rozhraní .NET Framework volání vyvolá při XamlObjectWriterException příslušných XamlMember sestavách true pro IsUnknown.

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

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

Konstruktory

XamlMember(EventInfo, XamlSchemaContext)

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

XamlMember(EventInfo, XamlSchemaContext, XamlMemberInvoker)

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

XamlMember(PropertyInfo, XamlSchemaContext)

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

XamlMember(PropertyInfo, XamlSchemaContext, XamlMemberInvoker)

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

XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext)

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

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

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

XamlMember(String, MethodInfo, XamlSchemaContext)

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

XamlMember(String, MethodInfo, XamlSchemaContext, XamlMemberInvoker)

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

XamlMember(String, XamlType, Boolean)

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

Vlastnosti

DeclaringType

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

DeferringLoader

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

DependsOn

Získá seznam XamlMember objektů. Tyto sestavy hlásí členy, ve kterých existují relace závislostí pro pořadí inicializace 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 XamlMember je hlášena jako okolí vlastnost.

IsAttachable

Získá hodnotu, která označuje, zda se jedná XamlMember o 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 představuje XamlMember člena události.

IsNameValid

Získá hodnotu, která označuje, zda je inicializován XamlMember s platným xamlName řetězcem jako .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 člen s volatelné veřejné get příslušenství.

IsUnknown

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

IsWriteOnly

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

IsWritePublic

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

MarkupExtensionBracketCharacters

Definuje znaky levou a pravou závorku pro rozšíření značek.

Name

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

PreferredXamlNamespace

Získá 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 by vizuální návrhář měl zpracovat člen.

TargetType

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

Type

XamlType Získá typ, který používá člen.

TypeConverter

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

UnderlyingMember

Získá systém MemberInfo typu CLR, který je k dispozici pro člen, který je vytvořen , PropertyInfoMethodInfonebo EventInfo.

ValueSerializer

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

Metody

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á aktuální Type instanci.

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

Vrátí seznam oborů názvů XAML, ve kterých 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á pro odložené načtení deklarovaných objektů XAML.

LookupDependsOn()

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

LookupInvoker()

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

LookupIsAmbient()

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

LookupIsEvent()

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

LookupIsReadOnly()

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

LookupIsReadPublic()

Vrátí, zda představuje XamlMember vlastnost, která má veřejné get příslušenství.

LookupIsUnknown()

Vrátí, zda představuje XamlMember člen, který není přeložitelný backingovým systémem, který se používá pro typ a řešení členů.

LookupIsWriteOnly()

Vrátí, zda představuje XamlMember člena, který má veřejné set příslušenství, ale ne veřejné get příslušenství.

LookupIsWritePublic()

Vrátí, zda představuje XamlMember člena, který má veřejné set příslušenství.

LookupMarkupExtensionBracketCharacters()

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

LookupTargetType()

XamlType Vrátí hodnotu typu, kde XamlMember 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()

get Vrátí příslušenství přidružené k tomuto XamlMemberobjektu .

LookupUnderlyingMember()

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

LookupUnderlyingSetter()

set Vrátí příslušenství přidružené k tomuto XamlMemberobjektu .

LookupValueSerializer()

Vrátí implementaci serializátoru hodnoty, která je přidružena k tomuto XamlMember.

MemberwiseClone()

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

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

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

Operátory

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é