Condividi tramite


TypeBuilder.InvokeMember Metodo

Definizione

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.

Si applica a