Condividi tramite


XamlSchemaContext Classe

Definizione

Definisce un contesto riutilizzabile per l'interpretazione o il mapping dei tipi XAML e dei tipi negli assembly ad essi sottostanti.

public ref class XamlSchemaContext
public class XamlSchemaContext
type XamlSchemaContext = class
Public Class XamlSchemaContext
Ereditarietà
XamlSchemaContext

Commenti

Un contesto dello schema XAML fornisce un livello di astrazione tra uno schema o un vocabolario per XAML e un'implementazione specifica del parser. Inserendo il concetto di contesto dello schema, lo schema può essere usato con parser XAML diversi e il contesto dello schema inserisce i dettagli necessari per interagire con un parser XAML specifico. Ad esempio, il contesto dello schema XAML fornisce API di query correlate ai concetti XAML o all'associazione CLR al sistema di tipi XAML. Il contesto dello schema XAML è anche responsabile della gestione dell'elenco di assembly caricati, che definisce dove un parser XAML cerca i tipi di supporto.

Note per gli eredi

In un oggetto AppDomainè possibile condividere un XamlSchemaContext oggetto tra più chiamanti, che includono chiamanti con attendibilità totale e parziale. Questa situazione si verifica in framework come WPF, che forniscono l'accesso parzialmente attendibile al caricamento XAML per parti del modello di applicazione WPF. L'implementazione predefinita XamlSchemaContext fornisce misure di sicurezza in questo scenario mantenendo tutte le relative proprietà e impostazioni non modificabili. Le implementazioni derivate devono anche prendere in considerazione la possibilità di seguire questo modello di immutabilità per le proprietà e le impostazioni di un contesto dello schema XAML.

La XamlSchemaContext classe base è progettata in modo che le ricerche non abbiano effetti collaterali osservabili esternamente. I tipi a cui fanno riferimento le XamlSchemaContext API nella classe base, ad esempio XamlType o XamlMember, non producono effetti collaterali dalle ricerche. Tutti i dati necessari per stabilire uno schema devono essere disponibili dalla costruzione e dalle impostazioni di AppDomain. Si noti che nessuna API di ricerca si basa su servizi passati in modo esplicito; l'input si basa solo sull'input stringa.

La XamlSchemaContext classe di base e e XamlMember XamlType sono tutti thread-safe nelle implementazioni di base. Se si deriva o XamlSchemaContext si derivano classi di sistema di tipi XAML come XamlType e XamlMember , è possibile scegliere se le classi si comportano come thread-safe.

Costruttori

XamlSchemaContext()

Inizializza una nuova istanza della classe XamlSchemaContext.

XamlSchemaContext(IEnumerable<Assembly>)

Inizializza una nuova istanza della classe XamlSchemaContext in base a un set di assembly di riferimento.

XamlSchemaContext(IEnumerable<Assembly>, XamlSchemaContextSettings)

Inizializza una nuova istanza della classe XamlSchemaContext in base a un set di assembly di riferimento e a un oggetto impostazioni.

XamlSchemaContext(XamlSchemaContextSettings)

Inizializza una nuova istanza della classe XamlSchemaContext in base a un oggetto impostazioni.

Proprietà

FullyQualifyAssemblyNamesInClrNamespaces

Ottiene un valore che specifica se uno schema XAML e il relativo contesto utilizzano nomi completi dell'assembly nei valori restituiti dall'API di ricerca.

ReferenceAssemblies

Ottiene un set enumerabile di assembly di riferimento per il contesto dello schema XAML.

SupportMarkupExtensionsWithDuplicateArity

Ottiene un valore che specifica se uno schema XAML e il relativo contesto supportano le estensioni di markup con due costruttori dello stesso grado (numero di parametri di input).

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Finalize()

Fornisce un'implementazione Finalize non standard che non richiama Dispose.

GetAllXamlNamespaces()

Cerca negli assembly contenuti nell'oggetto XamlSchemaContext e restituisce un set di spazi dei nomi.

GetAllXamlTypes(String)

Cerca negli assembly contenuti nell'oggetto XamlSchemaContext e restituisce un set di tipi dallo spazio dei nomi XAML specificato.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetPreferredPrefix(String)

Ottiene una stringa segnalata come prefisso preferito che deve essere utilizzata dai consumer quando eseguono il mapping dello spazio dei nomi XAML specificato.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
GetValueConverter<TConverterBase>(Type, XamlType)

Restituisce un convertitore di valori che può eseguire la conversione nell'oggetto targetType richiesto.

GetXamlDirective(String, String)

Restituisce un valore XamlDirective che rappresenta una direttiva, per il linguaggio XAML o per un'implementazione specifica.

GetXamlType(String, String, XamlType[])

Restituisce un oggetto XamlType basato su uno spazio dei nomi XAML e una stringa per il nome del tipo. Questa firma può specificare gli argomenti del tipo per i casi in cui il tipo desiderato è generico.

GetXamlType(Type)

Restituisce un oggetto XamlType basato su un identificatore di tipo CLR.

GetXamlType(XamlTypeName)

Restituisce un oggetto XamlType basato su un nome del tipo di sistema XAML.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnAssemblyResolve(String)

Chiamato quando le operazioni utilizzano questo contesto dello schema per risolvere un assembly richiesto per risolvere gli spazi dei nomi XAML in esso contenuti.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TryGetCompatibleXamlNamespace(String, String)

Restituisce l'esito positivo o negativo di una richiesta per uno spazio dei nomi XAML compatibile. Una richiesta riuscita segnala lo spazio dei nomi XAML come parametro out.

Si applica a