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 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
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 |
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é |
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é |
MarkupExtensionBracketCharacters |
Definuje znaky levou a pravou závorku pro rozšíření značek. |
Name |
|
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é |
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é |
LookupIsWritePublic() |
Vrátí, zda představuje XamlMember člena, který má veřejné |
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() |
|
LookupUnderlyingMember() |
Vrátí systém MemberInfo typu CLR, který je přidružen k tomuto XamlMember. |
LookupUnderlyingSetter() |
|
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. |