XamlMember Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce l'identificatore di sistema dei tipi XAML per i membri dei tipi XAML. L'identificatore viene utilizzato dai reader e dai writer XAML durante l'elaborazione dei nodi membri (quando il reader XAML viene posizionato su un oggetto StartMember) e anche per la logica di sistema di tipo XAML generale.
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)
- Ereditarietà
-
XamlMember
- Derivato
- Implementazioni
Commenti
XamlMember può usare tre metodologie per restituire informazioni su un membro XAML: reflection CLR (Common Language Runtime) standard; una tecnica di reflection di sola riferimento che chiama le API interne che usano flag di bit ottimizzati; o chiamando in override virtuali dell'API Lookup*
fornita da possibili XamlMember sottoclassi. Per la maggior parte degli usi delle API dei servizi XAML di .NET Framework e dell'API XamlMember , usi il contesto dello schema XAML predefinito. Il contesto dello schema XAML predefinito per i servizi XAML di .NET Framework usa il supporto CLR per il sistema dei tipi. In questo modo, i lettori XAML e i writer XAML possono lavorare con qualsiasi tipo o membro definito in o altrimenti disponibile per CLR e le relative tecniche di reflection.
API Lookup* e classi derivate XamlMember
XamlMember definisce diversi membri virtuali che le classi derivate potrebbero eseguire l'override. Questi membri hanno nomi che iniziano sempre con la stringa Lookup
. Il resto del nome dell'API fa quindi riferimento alla proprietà influenzata dal metodo virtuale. Ad esempio, una XamlMember classe derivata può eseguire l'override per influenzare ciò che la proprietà TargetType definita dalla base restituisce LookupTargetType in una classe derivata. È possibile stimare i valori restituiti per tali proprietà in XamlMember o classi derivate esistenti leggendo la documentazione per i metodi pertinenti Lookup*
.
Lo scopo dei Lookup*
metodi è fornire una tecnica di estensione del sistema di tipi XAML che incorpora la XamlMember classe base. Derivando dai XamlMember membri virtuali ed eseguendo l'override Lookup
dei membri virtuali, puoi definire il concetto di membro XAML per uno schema XAML in un sistema di tipi XAML senza essere associato alle specifiche di un sistema di tipi di supporto o di una tecnologia. Puoi anche usare un contesto dello schema XAML fornito in questo schema e restituire comunque i risultati desiderati.
Si consideri ad esempio la XamlMember proprietà IsWritePublic. Questa proprietà informa i chiamanti che le operazioni come l'uso di per la XamlWriter serializzazione possono scrivere un valore per questo membro in un oggetto di destinazione. Nell'implementazione predefinita, la determinazione del fatto che il membro è scrivibile tramite tecniche di reflection contro CLR Type sottostante e i relativi membri ().MemberInfo Di conseguenza, per impostazione predefinita, il sistema di tipi XAML dipende dal sistema di tipi CLR. È tuttavia possibile rimuovere questa dipendenza per la segnalazione del sistema di tipi XAML di IsWritePublic eseguendo l'override dell'API LookupIsWritePublic. All'interno dell'override puoi usare altre decisioni, ad esempio i metadati specifici della tecnologia, una tabella di ricerca primaria ottimizzata per un vocabolario XAML fisso o un'ampia gamma di altre strategie per determinare se un membro XAML è scrivibile nel vocabolario XAML.
Costruzione di XamlMember senza contesto dello schema XAML
La maggior parte dei costruttori di XamlMember richiede come XamlSchemaContext parte dell'inizializzazione. È XamlSchemaContext inoltre necessario per molte operazioni interne XamlSchemaContext , ad esempio per ottenere informazioni inoltrate dal tipo di supporto. Quando si usa l'APIXamlMember, in genere si dispone di un XamlSchemaContext oggetto disponibile da un costrutto circostante, ad esempio .XamlWriter In questo caso, puoi passare il XamlSchemaContext riferimento a tutte le chiamate di sistema di tipi XAML che richiedono un contesto dello schema XAML.
Un costruttore specifico, XamlMember(String, XamlType, Boolean), non richiede un oggetto XamlSchemaContext. Tuttavia, un oggetto XamlMember costruito con la XamlMember(String, XamlType, Boolean) firma restituisce true
per IsUnknown.
Per un percorso di caricamento che include XamlObjectWriter, tale membro non può essere scritto in un oggetto grafico. Usando l'implementazione dei servizi XAML di .NET Framework, la XamlObjectWriter.WriteStartMember chiamata genera un'eccezione XamlObjectWriterException quando i report true
pertinenti XamlMember per IsUnknown.
Non è consigliabile costruire un oggetto XamlMember che abbia un valore true
per a IsUnknown meno che l'implementazione non possa gestire le eccezioni da XamlObjectWritero che siano disponibili altri modi per modificare il XamlObjectWriter comportamento. Ad esempio, una o più delle condizioni seguenti potrebbero essere vere per l'implementazione:
- Il contesto dello schema XAML è disponibile in un secondo momento.
- Si usa un modello invoker membro.
- Si esegue deliberatamente l'override XamlObjectWriter.WriteStartMember in un writer XAML personalizzato.
Costruttori
XamlMember(EventInfo, XamlSchemaContext) |
Inizializza una nuova istanza della classe XamlMember utilizzando EventInfo del sistema di tipi CLR e un oggetto XamlSchemaContext. |
XamlMember(EventInfo, XamlSchemaContext, XamlMemberInvoker) |
Inizializza una nuova istanza della classe XamlMember utilizzando l'oggetto EventInfo del sistema di tipo CRL e un oggetto XamlSchemaContext, incluse le informazioni sull'oggetto XamlMemberInvoker. |
XamlMember(PropertyInfo, XamlSchemaContext) |
Inizializza una nuova istanza della classe XamlMember utilizzando PropertyInfo del sistema di tipi CLR e un oggetto XamlSchemaContext. |
XamlMember(PropertyInfo, XamlSchemaContext, XamlMemberInvoker) |
Inizializza una nuova istanza della classe XamlMember utilizzando l'oggetto PropertyInfo di reflection e un oggetto XamlSchemaContext, incluse le informazioni sull'oggetto XamlMemberInvoker. |
XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext) |
Inizializza una nuova istanza della classe XamlMember per un oggetto XamlMember che rappresenta una proprietà associabile. |
XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext, XamlMemberInvoker) |
Inizializza una nuova istanza della classe XamlMember per un oggetto XamlMember che rappresenta una proprietà associabile, incluse le informazioni sull'oggetto XamlMemberInvoker. |
XamlMember(String, MethodInfo, XamlSchemaContext) |
Inizializza una nuova istanza della classe XamlMember per un oggetto XamlMember che rappresenta un evento associabile. |
XamlMember(String, MethodInfo, XamlSchemaContext, XamlMemberInvoker) |
Inizializza una nuova istanza della classe XamlMember per un oggetto XamlMember che rappresenta un evento associabile, incluse le informazioni sull'oggetto XamlMemberInvoker. |
XamlMember(String, XamlType, Boolean) |
Inizializza una nuova istanza della classe XamlMember utilizzando il nome di una stringa e le informazioni sull'oggetto XamlType dichiarante. Un oggetto XamlMember costruito con questa firma ha limitazioni significative. |
Proprietà
DeclaringType |
Ottiene l'oggetto XamlType per il tipo che dichiara il membro associato all'oggetto XamlMember. |
DeferringLoader |
Ottiene un oggetto XamlValueConverter<TConverterBase>, che viene utilizzato per il caricamento posticipato degli oggetti XAML dichiarati. |
DependsOn |
Ottiene un elenco di oggetti XamlMember. Tali oggetti segnalano i membri in cui sono presenti le relazioni di dipendenza per l'ordine di inizializzazione in relazione all'oggetto XamlMember. |
Invoker |
Ottiene l'implementazione di XamlMemberInvoker associata all'oggetto XamlMember. |
IsAmbient |
Ottiene un valore che indica se l'oggetto XamlMember è segnalato come proprietà di ambiente. |
IsAttachable |
Ottiene un valore che indica se l'oggetto XamlMember è un membro associabile. |
IsDirective |
Ottiene un valore che indica se l'oggetto XamlMember è una direttiva XAML. |
IsEvent |
Ottiene un valore che indica se l'oggetto XamlMember rappresenta un membro di evento. |
IsNameValid |
Ottiene un valore che indica se l'oggetto XamlMember viene inizializzato con una stringa |
IsReadOnly |
Ottiene un valore che indica se l'oggetto XamlMember rappresenta un membro di sola lettura. |
IsReadPublic |
Ottiene un valore che indica se l'oggetto XamlMember rappresenta un membro con una funzione di accesso |
IsUnknown |
Ottiene un valore che indica se il membro non può essere risolto dal sistema di supporto utilizzato per la risoluzione del tipo e del membro. |
IsWriteOnly |
Ottiene un valore che indica se l'oggetto XamlMember rappresenta un membro di sola scrittura. |
IsWritePublic |
Ottiene un valore che indica se l'oggetto XamlMember rappresenta un membro che dispone di una funzione di accesso |
MarkupExtensionBracketCharacters |
Definisce i caratteri parentesi quadra di apertura e chiusura per un'estensione di markup. |
Name |
Ottiene la stringa del nome |
PreferredXamlNamespace |
Ottiene il singolo URI dello spazio dei nomi XAML che identifica lo spazio dei nomi XAML primario per l'oggetto XamlMember. |
SerializationVisibility |
Ottiene un valore di DesignerSerializationVisibility che indica come una finestra di progettazione visiva deve elaborare il membro. |
TargetType |
Ottiene l'oggetto XamlType del tipo in cui può essere presente l'oggetto XamlMember. |
Type |
Ottiene l'oggetto XamlType del tipo utilizzato dal membro. |
TypeConverter |
Ottiene un oggetto XamlValueConverter<TConverterBase> che può essere utilizzato per la costruzione della conversione di tipi degli oggetti XAML dichiarati. |
UnderlyingMember |
Ottiene l'oggetto MemberInfo del sistema del tipo CRL che è disponibile per un membro costruito da PropertyInfo, MethodInfo o EventInfo. |
ValueSerializer |
Ottiene un oggetto XamlValueConverter<TConverterBase> che viene utilizzato per la serializzazione di valori degli oggetti XAML dichiarati. |
Metodi
Equals(Object) |
Indica se l'oggetto corrente è uguale a un altro oggetto. |
Equals(XamlMember) |
Indica se l'oggetto corrente è uguale a un altro oggetto dello stesso tipo. |
GetHashCode() |
Restituisce il codice hash per questo oggetto. |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
GetXamlNamespaces() |
Restituisce un elenco di spazi dei nomi XAML in cui può essere presente questo membro XAML. |
LookupCustomAttributeProvider() |
Quando implementato in una classe derivata, restituisce un'implementazione di ICustomAttributeProvider. |
LookupDeferringLoader() |
Restituisce un oggetto XamlValueConverter<TConverterBase> utilizzato per il caricamento posticipato degli oggetti XAML dichiarati. |
LookupDependsOn() |
Restituisce un elenco di oggetti XamlMember. Le voci nell'elenco segnalano i membri in cui sono presenti le relazioni di dipendenza per l'ordine di inizializzazione in relazione all'oggetto XamlMember. |
LookupInvoker() |
Restituisce un oggetto XamlMemberInvoker associato a XamlMember. |
LookupIsAmbient() |
Restituisce un valore che indica se l'oggetto XamlMember viene segnalato come proprietà di ambiente. |
LookupIsEvent() |
Restituisce un valore che indica se l'oggetto XamlMember rappresenta un evento. |
LookupIsReadOnly() |
Restituisce un valore che indica se l'oggetto XamlMember rappresenta una proprietà di sola lettura prevista. |
LookupIsReadPublic() |
Restituisce un valore che indica se l'oggetto XamlMember rappresenta una proprietà che dispone di una funzione di accesso |
LookupIsUnknown() |
Restituisce un valore che indica se l'oggetto XamlMember rappresenta un membro che non può essere risolto dal sistema di supporto utilizzato per la risoluzione del tipo e del membro. |
LookupIsWriteOnly() |
Restituisce un valore che indica se l'oggetto XamlMember rappresenta un membro che dispone di una funzione di accesso |
LookupIsWritePublic() |
Restituisce un valore che indica se l'oggetto XamlMember rappresenta un membro che dispone di una funzione di accesso |
LookupMarkupExtensionBracketCharacters() |
Restituisce i caratteri parentesi quadra di apertura e chiusura per un'estensione di markup. |
LookupTargetType() |
Restituisce l'oggetto XamlType del tipo in cui può essere presente l'oggetto XamlMember. |
LookupType() |
Restituisce l'oggetto XamlType del tipo utilizzato dal membro. |
LookupTypeConverter() |
Restituisce un'implementazione del convertitore di tipi associata all'oggetto XamlMember. |
LookupUnderlyingGetter() |
Restituisce una funzione di accesso |
LookupUnderlyingMember() |
Restituisce un oggetto MemberInfo del sistema di tipo CRL che è associato all'oggetto XamlMember. |
LookupUnderlyingSetter() |
Restituisce una funzione di accesso |
LookupValueSerializer() |
Restituisce un'implementazione del serializzatore di valori associata all'oggetto XamlMember. |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una rappresentazione in forma di stringa di XamlMember. |
Operatori
Equality(XamlMember, XamlMember) |
Determina se due oggetti XamlMember specificati hanno lo stesso valore. |
Inequality(XamlMember, XamlMember) |
Determina se due oggetti XamlMember specificati hanno valori diversi. |