XamlMember Klasse

Definition

Stellt den XAML-Typsystembezeichner für Member von XAML-Typen bereit.Provides the XAML type system identifier for members of XAML types. 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.The identifier is used by XAML readers and XAML writers during processing of member nodes (when the XAML reader is positioned on a StartMember) and also for general XAML type system logic.

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

XamlMemberkann drei Methoden zum Zurückgeben von Informationen zu einem XAML-Member verwenden: Standard Common Language Runtime Reflektion (CLR). ein Verweis basiertes Reflektionsverfahren zum Aufrufen interner APIs, die optimierte Bitflags verwenden; oder Aufrufen von virtuellen über schreibungen der Lookup* API, die von möglichen XamlMember Unterklassen bereitgestellt wird.XamlMember can use three methodologies for returning information about a XAML member: standard common language runtime (CLR) reflection; a reference-only reflection technique calling internal APIs that use optimized bit flags; or calling into virtual overrides of the Lookup* API that is provided by possible XamlMember subclasses. Für die meisten Verwendungen von .NET Framework XAML-Dienste XamlMember -APIs und der-API verwenden Sie den standardmäßigen XAML-Schema Kontext.For most uses of .NET Framework XAML Services APIs and the XamlMember API, you use the default XAML schema context. Der standardmäßige XAML-Schema Kontext für .NET Framework XAML-Dienste verwendet die CLR-Unterstützung für das Typsystem.The default XAML schema context for .NET Framework XAML Services uses CLR backing for the type system. Dadurch können XAML-Reader und XAML-Writer mit allen Typen oder Membern arbeiten, die in der CLR und den zugehörigen reflektionstechniken definiert bzw. anderweitig verfügbar sind.This enables the XAML readers and XAML writers to work with any type or member that is defined in, or otherwise available to, the CLR and its reflection techniques.

Suche * APIs und abgeleitete XamlMember-KlassenLookup* APIs and XamlMember Derived Classes

XamlMemberdefiniert mehrere virtuelle Member, die von abgeleiteten Klassen überschrieben werden können.XamlMember defines several virtual members that derived classes might override. Diese Member haben Namen, die immer mit der Zeichen LookupFolge beginnen.These members have names that always start with the string Lookup. Der Rest des API-namens verweist dann auf die Eigenschaft, die von der virtuellen Methode beeinflusst wird.The remainder of the API name then references the property that the virtual method influences. Beispielsweise kann eine XamlMember abgeleitete Klasse über LookupTargetType schreiben, um zu beeinflussen, was die TargetType Basis definierte Eigenschaft in einer abgeleiteten Klasse zurückgibt.For example, a XamlMember derived class might override LookupTargetType to influence what the base-defined property TargetType returns in a derived class. Sie können Rückgabewerte für diese Eigenschaften in XamlMember oder vorhandenen abgeleiteten Klassen Vorhersagen, indem Sie die Dokumentation für die relevanten Lookup* Methoden lesen.You can predict return values for such properties in XamlMember or existing derived classes by reading the documentation for the relevant Lookup* methods.

Der Zweck Lookup* der Methoden besteht darin, eine XAML-Typsystem-Erweiterungs Technik bereitzustellen XamlMember , die die Basisklasse enthält.The purpose of the Lookup* methods is to provide a XAML type system extension technique that incorporates the XamlMember base class. Durch Ableiten von XamlMember und überschreiben Lookup der virtuellen Member können Sie das Konzept eines XAML-Members für ein XAML-Schema in einem XAML-Typsystem definieren, ohne an die Besonderheiten eines Unterstützungs Typs System oder einer Technologie gebunden zu sein.By deriving from XamlMember and overriding the Lookup virtual members, you can define the concept of a XAML member for a XAML schema in a XAML type system without being tied to the specifics of a backing type system or technology. Sie können auch einen bereitgestellten XAML-Schema Kontext unter diesem Schema verwenden und trotzdem die gewünschten Ergebnisse zurückgeben.You can also use a provided XAML schema context under this scheme and still return the results you want.

Sehen Sie sich als Beispiel die XamlMember - IsWritePublicEigenschaft an.As an example, consider the XamlMember property IsWritePublic. Diese Eigenschaft informiert Aufrufer darüber, dass Vorgänge XamlWriter wie z. b. die Verwendung von für die Serialisierung einen Wert für diesen Member für ein Zielobjekt schreiben können.This property informs callers that operations such as using a XamlWriter for serialization can write a value for this member on a target object. In der Standard Implementierung wird festgelegt, ob der Member beschreibbar ist, indem reflektionstechniken für die unterstützende Type CLR und deren Member MemberInfo() verwendet werden.In the default implementation, the determination of whether the member is writable is made by using reflection techniques against the backing CLR Type and its members (the MemberInfo). Daher ist das XAML-Typsystem standardmäßig vom CLR-Typsystem abhängig.Therefore, by default, the XAML type system depends on the CLR type system. Sie können diese Abhängigkeit jedoch für die XAML-Typsystem Berichterstattung von IsWritePublic entfernen, indem Sie die-API LookupIsWritePublicüberschreiben.However, you can remove this dependency for your XAML type system reporting of IsWritePublic by overriding the API LookupIsWritePublic. Innerhalb der Überschreibung können Sie andere Determinationen verwenden, wie z. b. für Ihre technologiespezifische Metadaten, eine Master Such Tabelle, die für ein festes XAML-Vokabular optimiert ist, oder eine Vielzahl anderer Strategien, um zu bestimmen, ob ein XAML-Member in Ihrem XAML-Vokabular.Within your override, you can use other determinations, such as metadata that is specific to your technology, a master lookup table that is optimized for a fixed XAML vocabulary, or a variety of other strategies for determining whether a XAML member is writable in your XAML vocabulary.

Erstellen von XamlMember ohne XAML-Schema KontextConstructing XamlMember Without XAML Schema Context

Die meisten Konstruktoren XamlMember von XamlSchemaContext erfordern als Teil der Initialisierung.Most constructors of XamlMember require a XamlSchemaContext as part of their initialization. Der XamlSchemaContext ist auch für viele interne XamlSchemaContext Vorgänge erforderlich, z. b. das Abrufen von Informationen, die vom Sicherungstyp weitergeleitet werden.The XamlSchemaContext is also necessary for many internal XamlSchemaContext operations, such as obtaining information that is being forwarded from the backing type. Wenn Sie mit der XamlMember -API arbeiten, verfügen Sie in der Regel über einen XamlSchemaContext , der über ein umgebendes Konstrukt XamlWriterwie eine verfügbar ist.When you are working with the XamlMember API, you typically have a XamlSchemaContext that is available from a surrounding construct such as a XamlWriter. In diesem Fall können Sie den XamlSchemaContext Verweis an alle XAML-Typsystem Aufrufe übergeben, die einen XAML-Schema Kontext erfordern.In this case, you can pass the XamlSchemaContext reference through to all XAML type system calls that require a XAML schema context.

Ein bestimmter Konstruktor, XamlMember(String, XamlType, Boolean), XamlSchemaContexterfordert keine.One specific constructor, XamlMember(String, XamlType, Boolean), does not require a XamlSchemaContext. Allerdings gibt XamlMember eine, die mit der XamlMember(String, XamlType, Boolean) Signatur erstellt true wird IsUnknown, für zurück.However, a XamlMember that is constructed with the XamlMember(String, XamlType, Boolean) signature returns true for IsUnknown.

Bei einem Auslastungs Pfad XamlObjectWriter, der einschließt, kann ein solcher Member nicht in ein Objekt Diagramm geschrieben werden.For a load path that involves XamlObjectWriter, such a member cannot be written into an object graph. Mithilfe der .NET Framework XAML-Dienst Implementierung löst XamlObjectWriter.WriteStartMember der-Befehl XamlObjectWriterException eine aus, XamlMember wenn die IsUnknownrelevanten Berichte true für.Using the .NET Framework XAML services implementation, the XamlObjectWriter.WriteStartMember call throws a XamlObjectWriterException when the relevant XamlMember reports true for IsUnknown.

Sie sollten XamlMember keinen erstellen, der den true Wert für IsUnknown hat, es sei denn, ihre Implementierung kann die XamlObjectWriterAusnahmen von verarbeiten, oder Sie haben andere Möglichkeiten XamlObjectWriter , das Verhalten anzupassen.You should not construct a XamlMember that has a value of true for IsUnknown unless your implementation can handle the exceptions from XamlObjectWriter, or you have other ways to adjust the XamlObjectWriter behavior. Beispielsweise kann eine oder mehrere der folgenden Aktionen für Ihre Implementierung zutreffen:For example, one or more of the following might be true of your implementation:

  • Der XAML-Schema Kontext ist später verfügbar.The XAML schema context is available later.

  • Sie verwenden ein Element Aufruf Muster.You use a member invoker pattern.

  • Sie überschreiben XamlObjectWriter.WriteStartMember absichtlich in einem benutzerdefinierten XAML-Writer.You deliberately override XamlObjectWriter.WriteStartMember in a custom XAML writer.

Konstruktoren

XamlMember(EventInfo, XamlSchemaContext)

Initialisiert eine neue Instanz der XamlMember-Klasse mit der EventInfo des CLR-Typsystems und einem XamlSchemaContext.Initializes a new instance of the XamlMember class using CLR type system EventInfo and a 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.Initializes a new instance of the XamlMember class using CLR type system EventInfo and a XamlSchemaContext, including XamlMemberInvoker information.

XamlMember(PropertyInfo, XamlSchemaContext)

Initialisiert eine neue Instanz der XamlMember-Klasse mit der PropertyInfo des CLR-Typsystems und einem XamlSchemaContext.Initializes a new instance of the XamlMember class using CLR type system PropertyInfo and a XamlSchemaContext.

XamlMember(PropertyInfo, XamlSchemaContext, XamlMemberInvoker)

Initialisiert eine neue Instanz der XamlMember-Klasse mit Reflektions-PropertyInfo und einem XamlSchemaContext, einschließlich von XamlMemberInvoker-Informationen.Initializes a new instance of the XamlMember class using reflection PropertyInfo and a XamlSchemaContext, including XamlMemberInvoker information.

XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext)

Initialisiert eine neue Instanz der XamlMember-Klasse für ein XamlMember-Objekt, das eine anfügbare Eigenschaft darstellt.Initializes a new instance of the XamlMember class for a XamlMember that represents an attachable property.

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.Initializes a new instance of the XamlMember class for a XamlMember that represents an attachable property, including XamlMemberInvoker information.

XamlMember(String, MethodInfo, XamlSchemaContext)

Initialisiert eine neue Instanz der XamlMember-Klasse für einen XamlMember, der ein anfügbares Ereignis darstellt.Initializes a new instance of the XamlMember class for a XamlMember that represents an attachable event.

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.Initializes a new instance of the XamlMember class for a XamlMember that represents an attachable event, including XamlMemberInvoker information.

XamlMember(String, XamlType, Boolean)

Initialisiert eine neue Instanz der XamlMember-Klasse mit einem Zeichenfolgennamen und deklarierenden XamlType-Informationen.Initializes a new instance of the XamlMember class using a string name and declaring XamlType information. Ein mit dieser Signatur erstellter XamlMember weist deutliche Einschränkungen auf.A XamlMember that is constructed with this signature has significant limitations.

Eigenschaften

DeclaringType

Ruft das XamlType-Objekt für den Typ ab, durch den der dem XamlMember-Objekt zugeordnete Member deklariert wird.Gets the XamlType for the type that declares the member that is associated with this XamlMember.

DeferringLoader

Ruft ein XamlValueConverter<TConverterBase>-Objekt ab, das für verzögertes Laden von in XAML deklarierten Objekten verwendet wird.Gets a XamlValueConverter<TConverterBase> object, which is used for deferred loading of XAML declared objects.

DependsOn

Ruft eine Liste von XamlMember-Objekten ab.Gets a list of XamlMember objects. Von diesen werden die Member gemeldet, in denen Abhängigkeitsbeziehungen für die Initialisierungsreihenfolge relativ zu diesem XamlMember-Objekt vorhanden sind.These report the members where dependency relationships for initialization order exist relative to this XamlMember.

Invoker

Ruft die XamlMemberInvoker-Implementierung ab, die diesem XamlMember-Objekt zugeordnet ist.Gets the XamlMemberInvoker implementation that is associated with this XamlMember.

IsAmbient

Ruft einen Wert ab, der angibt, ob dieser XamlMember als Ambient-Eigenschaft gemeldet wird.Gets a value that indicates whether this XamlMember is reported as an ambient property.

IsAttachable

Ruft einen Wert ab, der angibt, ob dieses XamlMember-Objekt ein anfügbarer Member ist.Gets a value that indicates whether this XamlMember is an attachable member.

IsDirective

Ruft einen Wert ab, der angibt, ob es sich bei diesem XamlMember-Objekt um eine XAML-Direktive handelt.Gets a value that indicates whether this XamlMember is a XAML directive.

IsEvent

Ruft einen Wert ab, der angibt, ob dieser XamlMember einen Ereignismember darstellt.Gets a value that indicates whether this XamlMember represents an event member.

IsNameValid

Ruft einen Wert ab, der angibt, ob dieses XamlMember-Objekt mit einer gültigen xamlName-Zeichenfolge als Name-Eigenschaft initialisiert wird.Gets a value that indicates whether this XamlMember is initialized with a valid xamlName string as its Name.

IsReadOnly

Ruft einen Wert ab, der angibt, ob dieses XamlMember-Objekt einen schreibgeschützten Member darstellt.Gets a value that indicates whether this XamlMember represents a read-only member.

IsReadPublic

Ruft einen Wert ab, der angibt, ob dieses XamlMember-Objekt einen Member mit einem aufrufbaren öffentlichen get-Accessor darstellt.Gets a value that indicates whether this XamlMember represents a member with a callable public get accessor.

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.Gets a value that indicates whether the member is not resolvable by the backing system that is used for type and member resolution.

IsWriteOnly

Ruft einen Wert ab, der angibt, ob dieses XamlMember-Objekt einen lesegeschützten Member darstellt.Gets a value that indicates whether this XamlMember represents a write-only member.

IsWritePublic

Ruft einen Wert ab, der angibt, ob dieses XamlMember-Objekt einen Member mit einem aufrufbaren öffentlichen set-Accessor darstellt.Gets a value that indicates whether this XamlMember represents a member that has a callable public set accessor.

MarkupExtensionBracketCharacters

Definiert die Zeichen für öffnende und schließende Klammern einer Markuperweiterung.Defines the opening and closing bracket characters for a markup extension.

Name

Ruft die xamlName-Namenszeichenfolge ab, durch die dieses XamlMember-Objekt deklariert wird.Gets the xamlName name string that declares this XamlMember.

PreferredXamlNamespace

Ruft den einzelnen XAML-Namespace-URI ab, der den primären XAML-Namespace für dieses XamlMember-Objekt bezeichnet.Gets the single XAML namespace URI that identifies the primary XAML namespace for this XamlMember.

SerializationVisibility

Ruft einen DesignerSerializationVisibility-Wert ab, der angibt, wie der Member von einem visuellen Designer verarbeitet werden soll.Gets a DesignerSerializationVisibility value, which indicates how a visual designer should process the member.

TargetType

Ruft das XamlType-Objekt des Typs ab, in dem das XamlMember-Objekt vorhanden sein kann.Gets the XamlType of the type where the XamlMember can exist.

Type

Ruft das XamlType-Objekt des vom Member verwendeten Typs ab.Gets the XamlType of the type that is used by the member.

TypeConverter

Ruft ein XamlValueConverter<TConverterBase>-Objekt ab, das für die Typkonvertierungserstellung von in XAML deklarierten Objekten verwendet wird.Gets a XamlValueConverter<TConverterBase> object, which can be used for type conversion construction of XAML declared objects.

UnderlyingMember

Ruft die MemberInfo des CLR-Typsystems ab, die für einen Member verfügbar ist, der von PropertyInfo, MethodInfo oder EventInfo erstellt wird.Gets the CLR type system MemberInfo that is available for a member that is constructed by PropertyInfo, MethodInfo, or EventInfo.

ValueSerializer

Ruft ein XamlValueConverter<TConverterBase>-Objekt ab, das für die Wertserialisierung von in XAML deklarierten Objekten verwendet wird.Gets a XamlValueConverter<TConverterBase> object, which is used for value serialization of XAML declared objects.

Methoden

Equals(Object)

Gibt an, ob das aktuelle Objekt einem anderen Objekt entspricht.Indicates whether the current object is equal to another object.

Equals(XamlMember)

Gibt an, ob das aktuelle Objekt gleich einem anderen Objekt des gleichen Typs ist.Indicates whether the current object is equal to another object of the same type.

GetHashCode()

Gibt den Hashcode für dieses Objekt zurück.Returns the hash code for this object.

GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
GetXamlNamespaces()

Gibt eine Liste von XAML-Namespaces zurück, in dem dieser XAML-Member vorhanden sein kann.Returns a list of XAML namespaces where this XAML member can exist.

LookupCustomAttributeProvider()

Gibt bei der Implementierung in einer abgeleiteten Klasse eine ICustomAttributeProvider-Implementierung zurück.When implemented in a derived class, returns an ICustomAttributeProvider implementation.

LookupDeferringLoader()

Gibt ein XamlValueConverter<TConverterBase>-Objekt zurück, das für verzögertes Laden von in XAML deklarierten Objekten verwendet wird.Returns a XamlValueConverter<TConverterBase> object, which is used for deferred loading of XAML declared objects.

LookupDependsOn()

Gibt eine Liste von XamlMember-Objekten zurück.Returns a list of XamlMember objects. Von Elementen in der Liste werden die Member gemeldet, in denen Abhängigkeitsbeziehungen für die Initialisierungsreihenfolge relativ zu diesem XamlMember vorhanden sind.Items in the list report the members where dependency relationships for initialization order exist relative to this XamlMember.

LookupInvoker()

Gibt einen XamlMemberInvoker zurück, der diesem XamlMember zugeordnet ist.Returns a XamlMemberInvoker that is associated with this XamlMember.

LookupIsAmbient()

Gibt zurück, ob das XamlMember-Objekt als Ambient-Eigenschaft gemeldet wird.Returns whether this XamlMember is reported as an ambient property.

LookupIsEvent()

Gibt zurück, ob diese XamlMember-Klasse ein Ereignis darstellt.Returns whether this XamlMember represents an event.

LookupIsReadOnly()

Gibt zurück, ob die XamlMember-Klasse eine beabsichtigte schreibgeschützte Eigenschaft darstellt.Returns whether this XamlMember represents an intended read-only property.

LookupIsReadPublic()

Gibt zurück, ob das XamlMember-Objekt eine Eigenschaft darstellt, die über einen öffentlichen get-Accessor verfügt.Returns whether this XamlMember represents a property that has a public get accessor.

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.Returns whether this XamlMember represents a member that is not resolvable by the backing system that is used for type and member resolution.

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.Returns whether this XamlMember represents a member that has a public set accessor but not a public get accessor.

LookupIsWritePublic()

Gibt zurück, ob dieses XamlMember-Objekt einen Member darstellt, der über einen öffentlichen set-Accessor verfügt.Returns whether this XamlMember represents a member that has a public set accessor.

LookupMarkupExtensionBracketCharacters()

Gibt die Zeichen für öffnende und schließende Klammern einer Markuperweiterung zurück.Returns the opening and closing bracket characters for a markup extension.

LookupTargetType()

Gibt die XamlType-Klasse des Typs zurück, in dem das XamlMember-Objekt vorhanden sein kann.Returns the XamlType of the type where the XamlMember can exist.

LookupType()

Gibt das XamlType-Objekt des vom Member verwendeten Typs zurück.Returns the XamlType of the type that is used by the member.

LookupTypeConverter()

Gibt eine Typkonverterimplementierung zurück, die dieser XamlMember-Klasse zugeordnet ist.Returns a type converter implementation that is associated with this XamlMember.

LookupUnderlyingGetter()

Gibt einen get-Accessor zurück, der dieser XamlMember-Klasse zugeordnet ist.Returns a get accessor that is associated with this XamlMember.

LookupUnderlyingMember()

Gibt eine MemberInfo des CLR-Typsystems zurück, die diesem XamlMember zugeordnet ist.Returns a CLR type system MemberInfo that is associated with this XamlMember.

LookupUnderlyingSetter()

Gibt einen set-Accessor zurück, der dieser XamlMember-Klasse zugeordnet ist.Returns a set accessor that is associated with this XamlMember.

LookupValueSerializer()

Gibt eine Wertserialisierungsprogramm-Implementierung zurück, die diesem XamlMember-Objekt zugeordnet ist.Returns a value serializer implementation that is associated with this XamlMember.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung für diese XamlMember zurück.Returns a string representation of this XamlMember.

Operatoren

Equality(XamlMember, XamlMember)

Bestimmt, ob zwei angegebene XamlMember-Objekte denselben Wert haben.Determines whether two specified XamlMember objects have the same value.

Inequality(XamlMember, XamlMember)

Bestimmt, ob zwei angegebene XamlMember-Objekte verschiedene Werte haben.Determines whether two specified XamlMember objects have different values.

Gilt für:

Siehe auch