XamlMember Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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 |
| 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 |
| 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ý |
| MarkupExtensionBracketCharacters |
Definuje počáteční a pravou hranatý závorku pro rozšíření značek. |
| Name |
|
| 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ý |
| 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ý |
| LookupIsWritePublic() |
Vrátí, zda představuje XamlMember člena, který má veřejný |
| 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 |
| LookupUnderlyingMember() |
Vrátí systém MemberInfo typů CLR, který je přidružen k tomuto XamlMember. |
| LookupUnderlyingSetter() |
Vrátí přístupový objekt |
| 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. |