XamlMember Klass

Definition

Tillhandahåller systemidentifierare av XAML-typ för medlemmar av XAML-typer. Identifieraren används av XAML-läsare och XAML-skrivare under bearbetning av medlemsnoder (när XAML-läsaren är placerad på en StartMember) och även för allmän systemlogik av XAML-typ.

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)
Arv
XamlMember
Härledda
Implementeringar

Kommentarer

XamlMember kan använda tre metoder för att returnera information om en XAML-medlem: CLR-reflektion (Standard Common Language Runtime), en referensbaserad reflektionsteknik som anropar interna API:er som använder optimerade bitflaggor. eller anropa till virtuella åsidosättningar av API:et Lookup* som tillhandahålls av möjliga XamlMember underklasser. För de flesta användningsområden för .NET Framework XAML Services-API:er och api:et XamlMember använder du XAML-standardschemakontexten. XAML-standardschemakontexten för .NET Framework XAML Services använder CLR-stöd för typsystemet. Detta gör det möjligt för XAML-läsare och XAML-skrivare att arbeta med alla typer eller medlemmar som definieras i, eller på annat sätt är tillgängliga för, CLR och dess reflektionstekniker.

Uppslag* API:er och XamlMember-härledda klasser

XamlMember definierar flera virtuella medlemmar som härledda klasser kan åsidosätta. Dessa medlemmar har namn som alltid börjar med strängen Lookup. Resten av API-namnet refererar sedan till den egenskap som den virtuella metoden påverkar. En härledd klass kan till exempel XamlMember åsidosättas LookupTargetType för att påverka vad den basdefinierade egenskapen TargetType returnerar i en härledd klass. Du kan förutsäga returvärden för sådana egenskaper i XamlMember eller befintliga härledda klasser genom att läsa dokumentationen för relevanta Lookup* metoder.

Syftet med metoderna är att tillhandahålla en systemtilläggsteknik av Lookup* XAML-typ som innehåller basklassen XamlMember . Genom att härleda från XamlMember och åsidosätta de Lookup virtuella medlemmarna kan du definiera begreppet XAML-medlem för ett XAML-schema i ett XAML-typsystem utan att vara kopplad till detaljerna i ett backningstypsystem eller -teknik. Du kan också använda en angivet XAML-schemakontext under det här schemat och ändå returnera de resultat du vill ha.

Tänk till exempel på egenskapen XamlMemberIsWritePublic. Den här egenskapen informerar anropare om att åtgärder som att använda en XamlWriter för serialisering kan skriva ett värde för den här medlemmen på ett målobjekt. I standardimplementeringen görs fastställandet av om medlemmen är skrivbar genom att använda reflektionstekniker mot den stödande CLR Type och dess medlemmar ( MemberInfo). Därför är XAML-typsystemet som standard beroende av CLR-typsystemet. Du kan dock ta bort det här beroendet för din XAML-typ av systemrapportering genom IsWritePublic att åsidosätta API LookupIsWritePublic:et . Inom din åsidosättning kan du använda andra bestämningar, till exempel metadata som är specifika för din teknik, en primär uppslagstabell som är optimerad för en fast XAML-vokabulär eller en mängd andra strategier för att avgöra om en XAML-medlem kan skrivas i ditt XAML-ordförråd.

Konstruera XamlMember utan XAML-schemakontext

De flesta konstruktorer XamlMember av kräver en som en XamlSchemaContext del av sin initiering. XamlSchemaContext Är också nödvändigt för många interna XamlSchemaContext åtgärder, till exempel att hämta information som vidarebefordras från backningstypen. När du arbetar med API:et XamlMember har du vanligtvis en XamlSchemaContext som är tillgänglig från en omgivande konstruktion, till exempel en XamlWriter. I det här fallet kan du skicka referensen XamlSchemaContext till alla XAML-typsystemanrop som kräver en XAML-schemakontext.

En specifik konstruktor, XamlMember(String, XamlType, Boolean), kräver inte en XamlSchemaContext. Men en XamlMember som är konstruerad med signaturen XamlMember(String, XamlType, Boolean) returnerar true för IsUnknown.

För en inläsningssökväg XamlObjectWritersom omfattar kan en sådan medlem inte skrivas till ett objektdiagram. Med implementeringen .NET Framework XAML-tjänster genererar anropet XamlObjectWriter.WriteStartMember en XamlObjectWriterException när relevant XamlMember rapporterar true för IsUnknown.

Du bör inte skapa en XamlMember som har värdet true för om IsUnknown inte implementeringen kan hantera undantagen från XamlObjectWriter, eller om du har andra sätt att justera beteendet XamlObjectWriter . Ett eller flera av följande kan till exempel gälla implementeringen:

  • XAML-schemakontexten är tillgänglig senare.
  • Du använder ett mönster för anropare av medlemmar.
  • Du åsidosätter XamlObjectWriter.WriteStartMember avsiktligt i en anpassad XAML-skrivare.

Konstruktorer

Name Description
XamlMember(EventInfo, XamlSchemaContext, XamlMemberInvoker)

Initierar en ny instans av klassen med hjälp av XamlMember CLR-typsystem EventInfo och en XamlSchemaContext, inklusive XamlMemberInvoker information.

XamlMember(EventInfo, XamlSchemaContext)

Initierar en ny instans av klassen med hjälp av XamlMember CLR-typsystem EventInfo och en XamlSchemaContext.

XamlMember(PropertyInfo, XamlSchemaContext, XamlMemberInvoker)

Initierar en ny instans av XamlMember klassen med reflektion PropertyInfo och en XamlSchemaContext, inklusive XamlMemberInvoker information.

XamlMember(PropertyInfo, XamlSchemaContext)

Initierar en ny instans av klassen med hjälp av XamlMember CLR-typsystem PropertyInfo och en XamlSchemaContext.

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

Initierar en ny instans av XamlMember klassen för en XamlMember som representerar en bifogad egenskap, inklusive XamlMemberInvoker information.

XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext)

Initierar en ny instans av XamlMember klassen för en XamlMember som representerar en bifogad egenskap.

XamlMember(String, MethodInfo, XamlSchemaContext, XamlMemberInvoker)

Initierar en ny instans av XamlMember klassen för en XamlMember händelse som representerar en bifogad händelse, inklusive XamlMemberInvoker information.

XamlMember(String, MethodInfo, XamlSchemaContext)

Initierar en ny instans av XamlMember klassen för en XamlMember som representerar en bifogad händelse.

XamlMember(String, XamlType, Boolean)

Initierar en ny instans av klassen med hjälp av XamlMember ett strängnamn och deklarerar XamlType information. En XamlMember som är konstruerad med den här signaturen har betydande begränsningar.

Egenskaper

Name Description
DeclaringType

XamlType Hämtar för den typ som deklarerar den medlem som är associerad med den här XamlMember.

DeferringLoader

Hämtar ett XamlValueConverter<TConverterBase> objekt som används för uppskjuten inläsning av XAML-deklarerade objekt.

DependsOn

Hämtar en lista över XamlMember objekt. Dessa rapporterar de medlemmar där beroenderelationer för initieringsordning finns i förhållande till den här XamlMember.

Invoker

Hämtar den XamlMemberInvoker implementering som är associerad med den här XamlMember.

IsAmbient

Hämtar ett värde som anger om detta XamlMember rapporteras som en omgivande egenskap.

IsAttachable

Hämtar ett värde som anger om det här XamlMember är en bifogad medlem.

IsDirective

Hämtar ett värde som anger om detta XamlMember är ett XAML-direktiv.

IsEvent

Hämtar ett värde som anger om detta XamlMember representerar en händelsemedlem.

IsNameValid

Hämtar ett värde som anger om detta XamlMember initieras med en giltig xamlName sträng som dess Name.

IsReadOnly

Hämtar ett värde som anger om detta XamlMember representerar en skrivskyddad medlem.

IsReadPublic

Hämtar ett värde som anger om detta XamlMember representerar en medlem med en anropsbar offentlig get accessor.

IsUnknown

Hämtar ett värde som anger om medlemmen inte kan matchas av det backningssystem som används för typ- och medlemsmatchning.

IsWriteOnly

Hämtar ett värde som anger om detta XamlMember representerar en skrivskyddad medlem.

IsWritePublic

Hämtar ett värde som anger om detta XamlMember representerar en medlem som har en anropsbar offentlig set accessor.

MarkupExtensionBracketCharacters

Definierar inledande och avslutande hakparentestecken för ett markeringstillägg.

Name

Hämtar namnsträngen xamlName som deklarerar den här XamlMember.

PreferredXamlNamespace

Hämtar den enda XAML-namnrymds-URI:n som identifierar det primära XAML-namnområdet för detta XamlMember.

SerializationVisibility

Hämtar ett DesignerSerializationVisibility värde som anger hur en visuell designer ska bearbeta medlemmen.

TargetType

Hämtar den XamlType typ där XamlMember det kan finnas.

Type

Hämtar den XamlType typ som används av medlemmen.

TypeConverter

Hämtar ett XamlValueConverter<TConverterBase> objekt som kan användas för typkonverteringskonstruktion av XAML-deklarerade objekt.

UnderlyingMember

Hämtar CLR-typsystemet MemberInfo som är tillgängligt för en medlem som är konstruerad av PropertyInfo, MethodInfoeller EventInfo.

ValueSerializer

Hämtar ett XamlValueConverter<TConverterBase> objekt som används för värde serialisering av XAML-deklarerade objekt.

Metoder

Name Description
Equals(Object)

Anger om det aktuella objektet är lika med ett annat objekt.

Equals(XamlMember)

Anger om det aktuella objektet är lika med ett annat objekt av samma typ.

GetHashCode()

Returnerar hash-koden för det här objektet.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
GetXamlNamespaces()

Returnerar en lista över XAML-namnområden där den här XAML-medlemmen kan finnas.

LookupCustomAttributeProvider()

När den implementeras i en härledd klass returnerar en ICustomAttributeProvider implementering.

LookupDeferringLoader()

Returnerar ett XamlValueConverter<TConverterBase> objekt som används för uppskjuten inläsning av XAML-deklarerade objekt.

LookupDependsOn()

Returnerar en lista med XamlMember objekt. Objekt i listan rapporterar de medlemmar där beroenderelationer för initieringsordning finns i förhållande till den här XamlMember.

LookupInvoker()

Returnerar en XamlMemberInvoker som är associerad med den här XamlMember.

LookupIsAmbient()

Returnerar om detta XamlMember rapporteras som en omgivande egenskap.

LookupIsEvent()

Returnerar om detta XamlMember representerar en händelse.

LookupIsReadOnly()

Returnerar om detta XamlMember representerar en avsedd skrivskyddad egenskap.

LookupIsReadPublic()

Returnerar om detta XamlMember representerar en egenskap som har en offentlig get accessor.

LookupIsUnknown()

Returnerar om detta XamlMember representerar en medlem som inte kan matchas av det backningssystem som används för typ- och medlemsmatchning.

LookupIsWriteOnly()

Returnerar om detta XamlMember representerar en medlem som har en offentlig set accessor men inte en offentlig get accessor.

LookupIsWritePublic()

Returnerar om detta XamlMember representerar en medlem som har en offentlig set accessor.

LookupMarkupExtensionBracketCharacters()

Returnerar inledande och avslutande hakparentestecken för ett markeringstillägg.

LookupTargetType()

Returnerar den XamlType typ där XamlMember kan finnas.

LookupType()

Returnerar den XamlType typ som används av medlemmen.

LookupTypeConverter()

Returnerar en typkonverterareimplementering som är associerad med den här XamlMember.

LookupUnderlyingGetter()

Returnerar en get accessor som är associerad med den här XamlMember.

LookupUnderlyingMember()

Returnerar ett CLR-typsystem MemberInfo som är associerat med den här XamlMember.

LookupUnderlyingSetter()

Returnerar en set accessor som är associerad med den här XamlMember.

LookupValueSerializer()

Returnerar en värde serialiserarimplementering som är associerad med den här XamlMember.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en strängrepresentation av den här XamlMember.

Operatorer

Name Description
Equality(XamlMember, XamlMember)

Avgör om två angivna XamlMember objekt har samma värde.

Inequality(XamlMember, XamlMember)

Avgör om två angivna XamlMember objekt har olika värden.

Gäller för

Se även