XamlMember Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 Lookup
beginnen. 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 |
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 |
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 |
MarkupExtensionBracketCharacters |
Definiert die Zeichen für öffnende und schließende Klammern einer Markuperweiterung. |
Name |
Ruft die |
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 |
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 |
LookupIsWritePublic() |
Gibt zurück, ob dieses XamlMember-Objekt einen Member darstellt, der über einen öffentlichen |
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 |
LookupUnderlyingMember() |
Gibt eine MemberInfo des CLR-Typsystems zurück, die diesem XamlMember zugeordnet ist. |
LookupUnderlyingSetter() |
Gibt einen |
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. |