Freigeben über


XamlMember Klasse

Definition

Stellt den XAML-Typsystembezeichner für Member von XAML-Typen bereit. Der Bezeichner wird während der Verarbeitung von Memberknoten (wenn der XAML-Reader in einem StartMember positioniert ist) von XAML-Readern und XAML-Writern sowie für die allgemeine XAML-Typsystemlogik verwendet.

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)
Vererbung
XamlMember
Abgeleitet
Implementiert

Hinweise

XamlMember kann drei Methoden zum Zurückgeben von Informationen zu einem XAML-Element verwenden: Standard-Common Language Runtime (CLR)-Spiegelung; eine Nur-Referenz-Spiegelungstechnik, die interne APIs aufruft, die optimierte Bit-Flags verwenden; oder aufrufen in virtuelle Außerkraftsetzungen der API, die Lookup* von möglichen XamlMember Unterklassen bereitgestellt wird. Bei den meisten Verwendungen von .NET Framework XAML-Dienste-APIs und der XamlMember API verwenden Sie den Standardmäßigen XAML-Schemakontext. Der standardmäßige XAML-Schemakontext für .NET Framework XAML-Dienste verwendet CLR-Sicherung für das Typsystem. Auf diese Weise können die XAML-Leser und XAML-Autoren mit jedem Typ oder Element arbeiten, der in oder anderweitig verfügbar ist, der CLR und seine Spiegelungstechniken.

Lookup* APIs und abgeleitete XamlMember-Klassen

XamlMember definiert mehrere virtuelle Member, die abgeleitete Klassen überschreiben können. Diese Member haben Namen, die immer mit der Zeichenfolge Lookupbeginnen. Der Rest des API-Namens verweist dann auf die Eigenschaft, die die virtuelle Methode beeinflusst. Beispielsweise kann eine XamlMember abgeleitete Klasse außer LookupTargetType Kraft setzen, um zu beeinflussen, was die basisdefinierte Eigenschaft TargetType in einer abgeleiteten Klasse zurückgibt. Sie können Rückgabewerte für solche Eigenschaften in XamlMember oder vorhandenen abgeleiteten Klassen vorhersagen, indem Sie die Dokumentation für die relevanten Lookup* Methoden lesen.

Der Zweck der Lookup* Methoden besteht darin, eine XAML-Typ-Systemerweiterungstechnik bereitzustellen, die die XamlMember Basisklasse enthält. Indem Sie die Lookup virtuellen Member ableiten XamlMember und außer Kraft setzen, können Sie das Konzept eines XAML-Elements für ein XAML-Schema in einem XAML-Typsystem definieren, ohne an die Besonderheiten eines Sicherungstypsystems oder einer Technologie gebunden zu sein. Sie können auch einen bereitgestellten XAML-Schemakontext unter diesem Schema verwenden und trotzdem die gewünschten Ergebnisse zurückgeben.

Betrachten Sie beispielsweise die XamlMember Eigenschaft IsWritePublic. Diese Eigenschaft informiert Aufrufer darüber, dass Vorgänge wie die Verwendung einer XamlWriter Serialisierung einen Wert für dieses Element in ein Zielobjekt schreiben können. In der Standardimplementierung wird die Bestimmung, ob das Element schreibbar ist, mithilfe von Spiegelungstechniken gegen die backing CLR Type und deren Member (the MemberInfo) erstellt. Daher hängt das XAML-Typsystem standardmäßig vom CLR-Typsystem ab. Sie können diese Abhängigkeit für Ihre XAML-Typsystemberichterstellung IsWritePublic jedoch entfernen, indem Sie die API LookupIsWritePublicaußer Kraft setzen. In Ihrer Außerkraftsetzung können Sie andere Bestimmungen verwenden, z. B. Metadaten, die für Ihre Technologie spezifisch sind, eine primäre Nachschlagetabelle, die für ein festes XAML-Vokabular optimiert ist, oder eine Vielzahl anderer Strategien zum Bestimmen, ob ein XAML-Element in Ihrem XAML-Vokabular schreibbar ist.

Erstellen von XamlMember ohne XAML-Schemakontext

Die meisten Konstruktoren erfordern XamlMember einen XamlSchemaContext Teil ihrer Initialisierung. Dies XamlSchemaContext ist auch für viele interne XamlSchemaContext Vorgänge erforderlich, z. B. das Abrufen von Informationen, die vom Sicherungstyp weitergeleitet werden. Wenn Sie mit der API arbeiten, verfügen Sie in der XamlMember Regel über ein XamlSchemaContext umgebendes Konstrukt, z. B. eine XamlWriter. In diesem Fall können Sie den XamlSchemaContext Verweis an alle XAML-Typsystemaufrufe übergeben, die einen XAML-Schemakontext erfordern.

Ein Konstruktor , XamlMember(String, XamlType, Boolean)erfordert XamlSchemaContextkeine . Ein XamlMember Wert, der jedoch mit der XamlMember(String, XamlType, Boolean) Signatur erstellt wird, wird true für IsUnknown.

Für einen Ladepfad, der umfasst XamlObjectWriter, kann ein solches Element nicht in ein Objektdiagramm geschrieben werden. Mit der Implementierung der .NET Framework XAML-Dienste löst der XamlObjectWriter.WriteStartMember Aufruf einen XamlObjectWriterException Zeitpunkt aus, für den die relevanten Berichte true IsUnknownerforderlich XamlMember sind.

Sie sollten keinen Wert erstellen XamlMember , der einen Wert true IsUnknown hat, es sei denn, Ihre Implementierung kann die Ausnahmen XamlObjectWritervon , oder Sie haben andere Möglichkeiten, das XamlObjectWriter Verhalten anzupassen. Beispielsweise kann eine oder mehrere der folgenden Elemente ihrer Implementierung erfüllt sein:

  • Der XAML-Schemakontext ist später verfügbar.
  • Sie verwenden ein Member-Aufrufmuster.
  • Sie überschreiben XamlObjectWriter.WriteStartMember sie absichtlich in einem benutzerdefinierten XAML-Writer.

Konstruktoren

XamlMember(EventInfo, XamlSchemaContext)

Initialisiert eine neue Instanz der XamlMember-Klasse mit der EventInfo des CLR-Typsystems und einem XamlSchemaContext.

XamlMember(EventInfo, XamlSchemaContext, XamlMemberInvoker)

Initialisiert eine neue Instanz der XamlMember-Klasse mit der EventInfo des CLR-Typsystems und einem XamlSchemaContext, einschließlich von XamlMemberInvoker-Informationen.

XamlMember(PropertyInfo, XamlSchemaContext)

Initialisiert eine neue Instanz der XamlMember-Klasse mit der PropertyInfo des CLR-Typsystems und einem XamlSchemaContext.

XamlMember(PropertyInfo, XamlSchemaContext, XamlMemberInvoker)

Initialisiert eine neue Instanz der XamlMember-Klasse mit Reflektions-PropertyInfo und einem XamlSchemaContext, einschließlich von XamlMemberInvoker-Informationen.

XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext)

Initialisiert eine neue Instanz der XamlMember-Klasse für ein XamlMember-Objekt, das eine anfügbare Eigenschaft darstellt.

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

Initialisiert eine neue Instanz der XamlMember-Klasse für einen XamlMember, der eine anfügbare Eigenschaft darstellt, einschließlich von XamlMemberInvoker-Informationen.

XamlMember(String, MethodInfo, XamlSchemaContext)

Initialisiert eine neue Instanz der XamlMember-Klasse für einen XamlMember, der ein anfügbares Ereignis darstellt.

XamlMember(String, MethodInfo, XamlSchemaContext, XamlMemberInvoker)

Initialisiert eine neue Instanz der XamlMember-Klasse für einen XamlMember, der ein anfügbares Ereignis darstellt, einschließlich von XamlMemberInvoker-Informationen.

XamlMember(String, XamlType, Boolean)

Initialisiert eine neue Instanz der XamlMember-Klasse mit einem Zeichenfolgennamen und deklarierenden XamlType-Informationen. Ein mit dieser Signatur erstellter XamlMember weist deutliche Einschränkungen auf.

Eigenschaften

DeclaringType

Ruft das XamlType-Objekt für den Typ ab, durch den der dem XamlMember-Objekt zugeordnete Member deklariert wird.

DeferringLoader

Ruft ein XamlValueConverter<TConverterBase>-Objekt ab, das für verzögertes Laden von in XAML deklarierten Objekten verwendet wird.

DependsOn

Ruft eine Liste von XamlMember-Objekten ab. Von diesen werden die Member gemeldet, in denen Abhängigkeitsbeziehungen für die Initialisierungsreihenfolge relativ zu diesem XamlMember-Objekt vorhanden sind.

Invoker

Ruft die XamlMemberInvoker-Implementierung ab, die diesem XamlMember-Objekt zugeordnet ist.

IsAmbient

Ruft einen Wert ab, der angibt, ob dieser XamlMember als Ambient-Eigenschaft gemeldet wird.

IsAttachable

Ruft einen Wert ab, der angibt, ob dieses XamlMember-Objekt ein anfügbarer Member ist.

IsDirective

Ruft einen Wert ab, der angibt, ob es sich bei diesem XamlMember-Objekt um eine XAML-Direktive handelt.

IsEvent

Ruft einen Wert ab, der angibt, ob dieser XamlMember einen Ereignismember darstellt.

IsNameValid

Ruft einen Wert ab, der angibt, ob dieses XamlMember-Objekt mit einer gültigen xamlName-Zeichenfolge als Name-Eigenschaft initialisiert wird.

IsReadOnly

Ruft einen Wert ab, der angibt, ob dieses XamlMember-Objekt einen schreibgeschützten Member darstellt.

IsReadPublic

Ruft einen Wert ab, der angibt, ob dieses XamlMember-Objekt einen Member mit einem aufrufbaren öffentlichen get-Accessor darstellt.

IsUnknown

Ruft einen Wert ab, der angibt, ob der Member durch das für Typ- und Memberauflösung verwendete Unterstützungssystem nicht aufgelöst werden kann.

IsWriteOnly

Ruft einen Wert ab, der angibt, ob dieses XamlMember-Objekt einen lesegeschützten Member darstellt.

IsWritePublic

Ruft einen Wert ab, der angibt, ob dieses XamlMember-Objekt einen Member mit einem aufrufbaren öffentlichen set-Accessor darstellt.

MarkupExtensionBracketCharacters

Definiert die Zeichen für öffnende und schließende Klammern einer Markuperweiterung.

Name

Ruft die xamlName-Namenszeichenfolge ab, durch die dieses XamlMember-Objekt deklariert wird.

PreferredXamlNamespace

Ruft den einzelnen XAML-Namespace-URI ab, der den primären XAML-Namespace für dieses XamlMember-Objekt bezeichnet.

SerializationVisibility

Ruft einen DesignerSerializationVisibility-Wert ab, der angibt, wie der Member von einem visuellen Designer verarbeitet werden soll.

TargetType

Ruft das XamlType-Objekt des Typs ab, in dem das XamlMember-Objekt vorhanden sein kann.

Type

Ruft das XamlType-Objekt des vom Member verwendeten Typs ab.

TypeConverter

Ruft ein XamlValueConverter<TConverterBase>-Objekt ab, das für die Typkonvertierungserstellung von in XAML deklarierten Objekten verwendet wird.

UnderlyingMember

Ruft die MemberInfo des CLR-Typsystems ab, die für einen Member verfügbar ist, der von PropertyInfo, MethodInfo oder EventInfo erstellt wird.

ValueSerializer

Ruft ein XamlValueConverter<TConverterBase>-Objekt ab, das für die Wertserialisierung von in XAML deklarierten Objekten verwendet wird.

Methoden

Equals(Object)

Gibt an, ob das aktuelle Objekt einem anderen Objekt entspricht.

Equals(XamlMember)

Gibt an, ob das aktuelle Objekt gleich einem anderen Objekt des gleichen Typs ist.

GetHashCode()

Gibt den Hashcode für dieses Objekt zurück.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
GetXamlNamespaces()

Gibt eine Liste von XAML-Namespaces zurück, in dem dieser XAML-Member vorhanden sein kann.

LookupCustomAttributeProvider()

Gibt bei der Implementierung in einer abgeleiteten Klasse eine ICustomAttributeProvider-Implementierung zurück.

LookupDeferringLoader()

Gibt ein XamlValueConverter<TConverterBase>-Objekt zurück, das für verzögertes Laden von in XAML deklarierten Objekten verwendet wird.

LookupDependsOn()

Gibt eine Liste von XamlMember-Objekten zurück. Von Elementen in der Liste werden die Member gemeldet, in denen Abhängigkeitsbeziehungen für die Initialisierungsreihenfolge relativ zu diesem XamlMember vorhanden sind.

LookupInvoker()

Gibt einen XamlMemberInvoker zurück, der diesem XamlMember zugeordnet ist.

LookupIsAmbient()

Gibt zurück, ob das XamlMember-Objekt als Ambient-Eigenschaft gemeldet wird.

LookupIsEvent()

Gibt zurück, ob diese XamlMember-Klasse ein Ereignis darstellt.

LookupIsReadOnly()

Gibt zurück, ob die XamlMember-Klasse eine beabsichtigte schreibgeschützte Eigenschaft darstellt.

LookupIsReadPublic()

Gibt zurück, ob das XamlMember-Objekt eine Eigenschaft darstellt, die über einen öffentlichen get-Accessor verfügt.

LookupIsUnknown()

Gibt zurück, ob diese XamlMember-Klasse ein Element darstellt, das vom Sicherungssystem für Typ- und Elementauflösung nicht aufgelöst werden kann.

LookupIsWriteOnly()

Gibt zurück, ob dieses XamlMember-Objekt einen Member darstellt, der über einen öffentlichen set-Accessor, jedoch nicht über einen öffentlichen get-Accessor verfügt.

LookupIsWritePublic()

Gibt zurück, ob dieses XamlMember-Objekt einen Member darstellt, der über einen öffentlichen set-Accessor verfügt.

LookupMarkupExtensionBracketCharacters()

Gibt die Zeichen für öffnende und schließende Klammern einer Markuperweiterung zurück.

LookupTargetType()

Gibt die XamlType-Klasse des Typs zurück, in dem das XamlMember-Objekt vorhanden sein kann.

LookupType()

Gibt das XamlType-Objekt des vom Member verwendeten Typs zurück.

LookupTypeConverter()

Gibt eine Typkonverterimplementierung zurück, die dieser XamlMember-Klasse zugeordnet ist.

LookupUnderlyingGetter()

Gibt einen get-Accessor zurück, der dieser XamlMember-Klasse zugeordnet ist.

LookupUnderlyingMember()

Gibt eine MemberInfo des CLR-Typsystems zurück, die diesem XamlMember zugeordnet ist.

LookupUnderlyingSetter()

Gibt einen set-Accessor zurück, der dieser XamlMember-Klasse zugeordnet ist.

LookupValueSerializer()

Gibt eine Wertserialisierungsprogramm-Implementierung zurück, die diesem XamlMember-Objekt zugeordnet ist.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung für diese XamlMember zurück.

Operatoren

Equality(XamlMember, XamlMember)

Bestimmt, ob zwei angegebene XamlMember-Objekte denselben Wert haben.

Inequality(XamlMember, XamlMember)

Bestimmt, ob zwei angegebene XamlMember-Objekte verschiedene Werte haben.

Gilt für

Siehe auch