XamlSchemaContext Klasse

Definition

Definiert einen wiederverwendbaren Kontext für die Interpretation oder Zuordnung von XAML-Typen und die Typen in den Assemblys, die ihnen zugrunde stehenden sind.

public ref class XamlSchemaContext
public class XamlSchemaContext
type XamlSchemaContext = class
Public Class XamlSchemaContext
Vererbung
XamlSchemaContext

Hinweise

Ein XAML-Schemakontext bietet eine Abstraktionsebene zwischen einem Schema oder Vokabular für XAML und einer bestimmten Parserimplementierung. Durch Einfügen des Konzepts eines Schemakontexts kann das Schema mit verschiedenen XAML-Parsern verwendet werden, und der Schemakontext füllt die Details aus, die für die Interaktion mit einem bestimmten XAML-Parser erforderlich sind. Beispielsweise stellt der XAML-Schemakontext Abfrage-APIs bereit, die sich auf XAML-Konzepte oder die CLR-Bindung an das XAML-Typsystem beziehen. Der XAML-Schemakontext ist auch für die Aufrechterhaltung der Assemblyliste geladener Assemblys verantwortlich, die definiert, wo ein XAML-Parser nach Sicherungstypen sucht.

Hinweise für Vererber

In einem AppDomain, eine XamlSchemaContext kann zwischen mehreren Anrufern geteilt werden, die sowohl voll als auch teilweise vertrauenswürdige Anrufer enthalten. Diese Situation besteht in Frameworks wie WPF, die teilweise vertrauenswürdigen Zugriff auf das XAML-Laden für Teile des WPF-Anwendungsmodells bieten. Die Standardimplementierung XamlSchemaContext bietet Sicherheitsvorkehrungen in diesem Szenario, indem alle zugehörigen Eigenschaften und Einstellungen unveränderlich bleiben. Abgeleitete Implementierungen sollten auch das Folgen dieses Modells der Unveränderlichkeit für Eigenschaften und Einstellungen eines XAML-Schemakontexts in Betracht ziehen.

Die XamlSchemaContext Basisklasse ist so konzipiert, dass Nachschlagevorgänge keine extern feststellbaren Nebenwirkungen aufweisen. Die Typen, auf die von XamlSchemaContext APIs in der Basisklasse verwiesen wird, z XamlType . B. oder XamlMember, erzeugen auch keine Nebenwirkungen von Nachschlagevorgängen. Alle Daten, die erforderlich sind, um eine Schemaermittlung vorzunehmen, sollten aus der Konstruktion und den Einstellungen der AppDomain. Beachten Sie, dass keine Nachschlage-APIs auf explizit übergebene Dienste angewiesen sind; Ihre Eingabe basiert nur auf Zeichenfolgeneingaben.

Die XamlSchemaContext Basisklasse und XamlTypeXamlMember alle threadsicher in ihren Basisimplementierungen. Wenn Sie von XamlSchemaContext XAML-Typsystemklassen abgeleitet oder abgeleitet werden, z XamlType . B. und XamlMember , können Sie auswählen, ob sich Ihre Klassen als threadsicher verhalten.

Konstruktoren

Name Beschreibung
XamlSchemaContext()

Initialisiert eine neue Instanz der XamlSchemaContext-Klasse.

XamlSchemaContext(IEnumerable<Assembly>, XamlSchemaContextSettings)

Initialisiert eine neue Instanz der XamlSchemaContext Klasse, basierend auf einer Reihe von Referenzassemblys und einem Einstellungsobjekt.

XamlSchemaContext(IEnumerable<Assembly>)

Initialisiert eine neue Instanz der XamlSchemaContext Klasse, basierend auf einer Reihe von Referenzassemblys.

XamlSchemaContext(XamlSchemaContextSettings)

Initialisiert eine neue Instanz der XamlSchemaContext Klasse basierend auf einem Einstellungsobjekt.

Eigenschaften

Name Beschreibung
FullyQualifyAssemblyNamesInClrNamespaces

Ruft einen Wert ab, der angibt, ob ein XAML-Schema und sein Kontext vollqualifizierte Assemblynamen in den Werten verwenden, die von der Nachschlage-API zurückgegeben werden.

ReferenceAssemblies

Ruft einen aufzählbaren Satz von Referenzassemblys für den XAML-Schemakontext ab.

SupportMarkupExtensionsWithDuplicateArity

Ruft einen Wert ab, der angibt, ob ein XAML-Schema und dessen Kontext Markuperweiterungen unterstützen, die zwei Konstruktoren mit der gleichen Arität (Anzahl der Eingabeparameter) aufweisen.

Methoden

Name Beschreibung
Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
Finalize()

Stellt eine nicht standardmäßige Finalize Implementierung bereit, die nicht aufgerufen wird Dispose.

GetAllXamlNamespaces()

Durchsucht die Assemblys, die von diesem XamlSchemaContext gehalten werden, und gibt eine Reihe von Namespaces zurück.

GetAllXamlTypes(String)

Durchsucht die Assemblys, die von diesem XamlSchemaContext gehalten werden, und gibt einen Satz von Typen aus dem angegebenen XAML-Namespace zurück.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetPreferredPrefix(String)

Ruft eine Zeichenfolge ab, die als bevorzugtes Präfix für Verbraucher gemeldet wird, die verwendet werden sollen, wenn sie den angegebenen XAML-Namespace zuordnen.

GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
GetValueConverter<TConverterBase>(Type, XamlType)

Gibt einen Wertkonverter zurück, der in den angeforderten targetTypeWert konvertiert werden kann.

GetXamlDirective(String, String)

Gibt einen XamlDirective Wert zurück, der eine Direktive darstellt, entweder für die XAML-Sprache oder für eine bestimmte Implementierung.

GetXamlType(String, String, XamlType[])

Gibt ein XamlType Objekt zurück, das auf einem XAML-Namespace und einer Zeichenfolge für den Typnamen basiert. Diese Signatur kann die Typargumente für Fälle angeben, in denen der gewünschte Typ ein generischer Typ ist.

GetXamlType(Type)

Gibt einen XamlType Wert zurück, der auf einem CLR-Typbezeichner basiert.

GetXamlType(XamlTypeName)

Gibt einen XamlType Wert zurück, der auf einem XAML-Systemtypnamen basiert.

MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
OnAssemblyResolve(String)

Wird aufgerufen, wenn Vorgänge diesen Schemakontext verwenden, um eine Assembly aufzulösen, die erforderlich ist, um die darin enthaltenen XAML-Namespaces aufzulösen.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
TryGetCompatibleXamlNamespace(String, String)

Gibt den Erfolg oder Fehler einer Anforderung für einen kompatiblen XAML-Namespace zurück. Eine erfolgreiche Anforderung meldet den XAML-Namespace als Out-Parameter.

Gilt für: