TypeBuilder.InvokeMember Metodo
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.
Richiama il membro specificato. Il metodo da richiamare deve essere accessibile e fornire massima corrispondenza con l'elenco di argomenti specificato, in conformità ai vincoli del binder e degli attributi di chiamata specificati.
public:
override System::Object ^ InvokeMember(System::String ^ name, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, System::Object ^ target, cli::array <System::Object ^> ^ args, cli::array <System::Reflection::ParameterModifier> ^ modifiers, System::Globalization::CultureInfo ^ culture, cli::array <System::String ^> ^ namedParameters);
public override object? InvokeMember (string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object? target, object?[]? args, System.Reflection.ParameterModifier[]? modifiers, System.Globalization.CultureInfo? culture, string[]? namedParameters);
public override object InvokeMember (string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object target, object[] args, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, string[] namedParameters);
override this.InvokeMember : string * System.Reflection.BindingFlags * System.Reflection.Binder * obj * obj[] * System.Reflection.ParameterModifier[] * System.Globalization.CultureInfo * string[] -> obj
Public Overrides Function InvokeMember (name As String, invokeAttr As BindingFlags, binder As Binder, target As Object, args As Object(), modifiers As ParameterModifier(), culture As CultureInfo, namedParameters As String()) As Object
Parametri
- name
- String
Nome del membro da richiamare. Può essere un costruttore, un metodo, una proprietà o un campo. È necessario specificare un attributo di chiamata appropriato. Si noti che è possibile richiamare il membro predefinito di una classe passando una stringa vuota come nome del membro.
- invokeAttr
- BindingFlags
Attributo di chiamata. Deve essere un flag di bit di BindingFlags
.
- binder
- Binder
Oggetto che consente l'associazione, la coercizione dei tipi di argomento, la chiamata dei membri e il recupero di oggetti MemberInfo
tramite reflection. Se il binder è null
, viene usato quello predefinito. Vedere Binder.
- target
- Object
Oggetto su cui richiamare il membro specificato. Se il membro è statico, il parametro viene ignorato.
- args
- Object[]
Elenco di argomenti. Matrice di oggetti che contiene il numero, l'ordine e il tipo dei parametri del membro da richiamare. In assenza di parametri, deve essere Null.
- modifiers
- ParameterModifier[]
Matrice della stessa lunghezza di args
con elementi che rappresentano gli attributi associati agli argomenti del membro da richiamare. A un parametro sono associati attributi nei metadati. Vengono usati da vari servizi di interoperabilità. Per informazioni dettagliate, vedere le specifiche dei metadati.
- culture
- CultureInfo
Istanza di CultureInfo
usata per regolare la coercizione dei tipi. Se tale parametro è Null, verrà usato l'oggetto CultureInfo
per il thread corrente. Ciò è necessario, ad esempio, per convertire una stringa che rappresenta 1000 in un valore double, perché 1000 è rappresentato in modo diverso nelle diverse impostazioni cultura.
- namedParameters
- String[]
Tutti i parametri nella matrice namedParameters
ottengono il valore nell'elemento corrispondente della matrice args
. Se la lunghezza di args
è superiore a quella di namedParameters
, i valori degli argomenti rimanenti vengono passati in ordine.
Restituisce
Restituisce il valore restituito del membro richiamato.
Eccezioni
Questo metodo non è attualmente supportato per i tipi incompleti.
Commenti
Verrà richiamato un metodo se il numero di parametri nella dichiarazione del metodo è uguale al numero di argomenti nell'elenco di argomenti specificato e il tipo di ogni argomento può essere convertito dal gestore di associazione nel tipo del parametro.
Il gestore di associazione troverà tutti i metodi corrispondenti. Questi metodi vengono trovati in base al tipo di associazione richiesto (BindingFlags.InvokeMethod, BindingFlags.GetProperties e così via). Il set di metodi viene filtrato in base al nome, al numero di argomenti e a un set di modificatori di ricerca definiti nel gestore di associazione. Dopo aver selezionato il metodo, verrà richiamato. L'accessibilità viene verificata a questo punto. La ricerca può controllare il set di metodi in cui viene eseguita la ricerca in base all'attributo di accessibilità associato al metodo . Il IBinder.BindToMethod
metodo è responsabile della selezione del metodo da richiamare. Il gestore di associazione predefinito seleziona la corrispondenza più specifica.
Nota
Le restrizioni di accesso vengono ignorate per il codice completamente attendibile. Vale a dire, è possibile accedere a costruttori privati, metodi, campi e proprietà e richiamare usando Reflection ogni volta che il codice è completamente attendibile.
Questo metodo non è attualmente supportato. È possibile recuperare il tipo usando Type.GetType o Assembly.GetType e usare la reflection sul tipo recuperato.