XamlSchemaContext Třída

Definice

Definuje opakovaně použitelný kontext pro interpretaci nebo mapování typů XAML a typy v sestaveních, která je základem.Defines a reusable context for interpreting or mapping XAML types, and the types in the assemblies that underlie them.

public ref class XamlSchemaContext
public class XamlSchemaContext
type XamlSchemaContext = class
Public Class XamlSchemaContext
Dědičnost
XamlSchemaContext

Poznámky

Kontext schématu XAML poskytuje vrstvu abstrakce mezi schématem nebo slovníkem pro XAML a specifickou implementací analyzátoru.A XAML schema context provides a layer of abstraction between a schema or vocabulary for XAML, and a specific parser implementation. Vložením konceptu kontextu schématu lze použít schéma s různými analyzátory XAML a kontext schématu se vyplní podrobnostmi, které jsou potřeba k interakci s konkrétním analyzátorem XAML.By inserting the concept of a schema context, the schema can be used with different XAML parsers, and the schema context fills in the details that are needed to interact with a specific XAML parser. Například kontext schématu XAML poskytuje dotaz rozhraní API, které se vztahují k konceptům XAML nebo k vazbě CLR na systém typů XAML.For example, the XAML schema context provides query APIs that relate to XAML concepts or to the CLR binding to the XAML type system. Kontext schématu XAML je také zodpovědný za udržování seznamu sestavení načtených sestavení, která definují, kde analyzátor XAML vyhledává typy zálohování.The XAML schema context is also responsible for maintaining the assembly list of loaded assemblies, which defines where a XAML parser looks for backing types.

Poznámky pro dědice

AppDomain VXamlSchemaContext , může být sdílen mezi více volajícími, které zahrnují jak plné, tak i částečného volání vztahu důvěryhodnosti.In an AppDomain, a XamlSchemaContext can be shared between multiple callers, which include both full and partial trust callers. Tato situace existuje v rozhraních, jako je WPF, které poskytují částečně důvěryhodný přístup k načítání XAML pro části aplikačního modelu WPF.This situation exists in frameworks such as WPF, which provide partial-trust access to XAML loading for portions of the WPF application model. Výchozí XamlSchemaContext implementace poskytuje v tomto scénáři ochranu tím, že udržuje všechny jeho vlastnosti a nastavení neměnné.The default XamlSchemaContext implementation provides safeguards in this scenario by keeping all its properties and settings immutable. Odvozené implementace by měly také zvážit následující model neměnnosti pro vlastnosti a nastavení kontextu schématu XAML.Derived implementations should also consider following this model of immutability for properties and settings of a XAML schema context.

XamlSchemaContext Základní třída je navržena tak, aby vyhledávání neobsahoval externě pozorovatelnou vedlejší účinky.The XamlSchemaContext base class is designed so that lookups have no externally observable side effects. Typy, na které odkazují XamlSchemaContext rozhraní API v základní třídě, XamlType jako je například nebo XamlMember, nevytváří žádné vedlejší účinky od vyhledávání.The types that are referenced by XamlSchemaContext APIs in the base class, such as XamlType or XamlMember, also produce no side effects from lookups. Všechna data potřebná k určení schématu by měla být k dispozici v rámci konstrukce a nastavení AppDomain.All data that is needed to make a schema determination should be available from the construction and settings of the AppDomain. Všimněte si, že žádná rozhraní API pro vyhledávání nespoléhají na explicitně předávané služby. jejich vstup spoléhá jenom na zadání řetězce.Notice that no lookup APIs rely on explicitly passed-in services; their input relies on string input only.

Základní třída a XamlType aXamlMember jsou bezpečné pro přístup z více vláken v základních implementacích. XamlSchemaContextThe XamlSchemaContext base class, and XamlType and XamlMember are all thread safe in their base implementations. Pokud odvodíte z XamlSchemaContext nebo odvodit systémové třídy typu XAML, jako XamlType jsou XamlMember a, můžete zvolit, zda se vaše třídy budou chovat jako bezpečné pro přístup z více vláken.If you derive from XamlSchemaContext or derive XAML type system classes such as XamlType and XamlMember , you can choose whether your classes will behave as thread safe.

Konstruktory

XamlSchemaContext()

Inicializuje novou instanci třídy XamlSchemaContext třídy.Initializes a new instance of the XamlSchemaContext class.

XamlSchemaContext(IEnumerable<Assembly>)

Inicializuje novou instanci XamlSchemaContext třídy na základě sady referenčních sestavení.Initializes a new instance of the XamlSchemaContext class, based on a set of reference assemblies.

XamlSchemaContext(IEnumerable<Assembly>, XamlSchemaContextSettings)

Inicializuje novou instanci XamlSchemaContext třídy na základě sady referenčních sestavení a objektu nastavení.Initializes a new instance of the XamlSchemaContext class, based on a set of reference assemblies and a settings object.

XamlSchemaContext(XamlSchemaContextSettings)

Inicializuje novou instanci XamlSchemaContext třídy na základě objektu nastavení.Initializes a new instance of the XamlSchemaContext class, based on a settings object.

Vlastnosti

FullyQualifyAssemblyNamesInClrNamespaces

Získá hodnotu, která určuje, zda schéma XAML a jeho kontext používají plně kvalifikované názvy sestavení v hodnotách, které jsou vráceny rozhraním API pro vyhledávání.Gets a value that specifies whether a XAML schema and its context use fully qualified assembly names in the values that are returned by the lookup API.

ReferenceAssemblies

Získá vyčíslitelné sady referenčních sestavení pro kontext schématu XAML.Gets an enumerable set of reference assemblies for the XAML schema context.

SupportMarkupExtensionsWithDuplicateArity

Získá hodnotu, která určuje, zda schéma XAML a jeho kontext podporují rozšíření značek, která mají dva konstruktory se stejnou aritou (počet vstupních parametrů).Gets a value that specifies whether a XAML schema and its context support markup extensions that have two constructors with the same arity (number of input parameters).

Metody

Equals(Object)

Určuje, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(Zděděno od Object)
Finalize()

Poskytuje nestandardní Finalize implementaci, která nevyvolává Dispose.Provides a nonstandard Finalize implementation that does not invoke Dispose.

GetAllXamlNamespaces()

Vyhledá sestavení, která jsou držena XamlSchemaContext tímto a vrátí sadu oborů názvů.Searches the assemblies that are held by this XamlSchemaContext and returns a set of namespaces.

GetAllXamlTypes(String)

Vyhledá sestavení, která jsou držena XamlSchemaContext tímto, a vrátí sadu typů ze zadaného oboru názvů XAML.Searches the assemblies that are held by this XamlSchemaContext and returns a set of types from the specified XAML namespace.

GetHashCode()

Slouží jako výchozí funkce hash.Serves as the default hash function.

(Zděděno od Object)
GetPreferredPrefix(String)

Získá řetězec, který je hlášen jako upřednostňovaná předpona pro uživatele, kteří mají použít při mapování zadaného oboru názvů XAML.Gets a string that is reported as the preferred prefix for consumers to use when they map the specified XAML namespace.

GetType()

Získá Type aktuální instance.Gets the Type of the current instance.

(Zděděno od Object)
GetValueConverter<TConverterBase>(Type, XamlType)

Vrátí konvertor hodnot, který může být převeden na požadovaný targetType.Returns a value converter that can convert to the requested targetType.

GetXamlDirective(String, String)

XamlDirective Vrací hodnotu, která představuje direktivu, buď pro jazyk XAML, nebo pro konkrétní implementaci.Returns a XamlDirective value that represents a directive, either for the XAML language or for a particular implementation.

GetXamlType(String, String, XamlType[])

Vrátí hodnotu XamlType , která je založena na oboru názvů XAML a řetězec pro název typu.Returns a XamlType that is based on a XAML namespace and a string for the type name. Tento podpis může určovat argumenty typu pro případy, kde je požadovaný typ obecný typ.This signature can specify the type arguments for cases where the desired type is a generic type.

GetXamlType(Type)

Vrátí hodnotu XamlType , která je založena na identifikátoru typu CLR.Returns a XamlType that is based on a CLR type identifier.

GetXamlType(XamlTypeName)

Vrátí objekt XamlType , který je založen na názvu systémového typu XAML.Returns a XamlType that is based on a XAML system type name.

MemberwiseClone()

Vytvoří kopii aktuálního Objectbez podstruktury.Creates a shallow copy of the current Object.

(Zděděno od Object)
OnAssemblyResolve(String)

Volá se, když operace používají tento kontext schématu k překladu sestavení, které je potřeba, aby se vyřešily obory názvů XAML, které obsahuje.Called when operations use this schema context to resolve an assembly that is required in order to resolve the XAML namespaces that it contains.

ToString()

Vrací řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(Zděděno od Object)
TryGetCompatibleXamlNamespace(String, String)

Vrátí úspěch nebo neúspěch žádosti pro kompatibilní obor názvů XAML.Returns the success or failure of a request for a compatible XAML namespace. Úspěšný požadavek hlásí, že obor názvů XAML jako výstupní parametr.A successful request reports that XAML namespace as an out parameter.

Platí pro