ConstructorInfo.Invoke Metodo

Definizione

Richiama il costruttore riflesso da questa istanza.

Overload

Nome Descrizione
Invoke(Object[])

Richiama il costruttore riflesso dall'istanza con i parametri specificati, fornendo valori predefiniti per i parametri non comunemente usati.

Invoke(BindingFlags, Binder, Object[], CultureInfo)

Se implementato in una classe derivata, richiama il costruttore riflesso da questo ConstructorInfo oggetto con gli argomenti specificati, in base ai vincoli dell'oggetto specificato Binder.

Invoke(Object[])

Origine:
ConstructorInfo.cs
Origine:
ConstructorInfo.cs
Origine:
ConstructorInfo.cs
Origine:
ConstructorInfo.cs
Origine:
ConstructorInfo.cs

Richiama il costruttore riflesso dall'istanza con i parametri specificati, fornendo valori predefiniti per i parametri non comunemente usati.

public:
 virtual System::Object ^ Invoke(cli::array <System::Object ^> ^ parameters);
public:
 System::Object ^ Invoke(cli::array <System::Object ^> ^ parameters);
public virtual object Invoke(object[] parameters);
public object Invoke(object?[]? parameters);
public object Invoke(object[] parameters);
override this.Invoke : obj[] -> obj
Public Overridable Function Invoke (parameters As Object()) As Object
Public Function Invoke (parameters As Object()) As Object

Parametri

parameters
Object[]

Matrice di valori che corrisponde al numero, all'ordine e al tipo (sotto i vincoli del binder predefinito) dei parametri per questo costruttore. Se questo costruttore non accetta parametri, usare una matrice con zero elementi o null, come nei parametri Object[] = new Object[0]. Qualsiasi oggetto in questa matrice non inizializzato in modo esplicito con un valore conterrà il valore predefinito per tale tipo di oggetto. Per gli elementi di tipo riferimento, questo valore è null. Per gli elementi di tipo valore, questo valore è 0, 0,0 o false, a seconda del tipo di elemento specifico.

Valori restituiti

Istanza della classe associata al costruttore.

Eccezioni

La classe è astratta.

oppure

Il costruttore è un inizializzatore di classe.

Il costruttore è privato o protetto e il chiamante non dispone di MemberAccess.

La parameters matrice non contiene valori che corrispondono ai tipi accettati da questo costruttore.

Il costruttore richiamato genera un'eccezione.

È stato passato un numero errato di parametri.

La creazione di TypedReferencetipi , ArgIteratore RuntimeArgumentHandle non è supportata.

Il chiamante non dispone dell'autorizzazione di accesso al codice necessaria.

Commenti

Il numero, il tipo e l'ordine degli elementi nella parameters matrice devono essere identici al numero, al tipo e all'ordine dei parametri per il costruttore riflessa da questa istanza. Prima di chiamare il costruttore, Invoke assicura che il chiamante disponga dell'autorizzazione di accesso e verifichi che i parametri siano validi.

Le restrizioni di accesso vengono ignorate per il codice completamente attendibile. Ovvero, i costruttori privati, i metodi, i campi e le proprietà possono essere accessibili e richiamati tramite reflection ogni volta che il codice è completamente attendibile.

Annotazioni

Per creare un'istanza di un tipo valore senza costruttori di istanza, usare il CreateInstance metodo .

Questo metodo è un metodo pratico per la versione di overload seguente, usando i valori predefiniti. Non è possibile eseguire l'override di questo metodo.

Annotazioni

Questo metodo può essere usato per accedere a membri non pubblici se il chiamante è stato concesso ReflectionPermission con il ReflectionPermissionFlag.RestrictedMemberAccess flag e se il set di concessioni dei membri non pubblici è limitato al set di concessioni del chiamante o a un subset. Vedere Considerazioni sulla sicurezza per reflection.

Si applica a

Invoke(BindingFlags, Binder, Object[], CultureInfo)

Origine:
ConstructorInfo.cs
Origine:
ConstructorInfo.cs
Origine:
ConstructorInfo.cs
Origine:
ConstructorInfo.cs
Origine:
ConstructorInfo.cs

Se implementato in una classe derivata, richiama il costruttore riflesso da questo ConstructorInfo oggetto con gli argomenti specificati, in base ai vincoli dell'oggetto specificato Binder.

public:
 abstract System::Object ^ Invoke(System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public abstract object Invoke(System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object?[]? parameters, System.Globalization.CultureInfo? culture);
public abstract object Invoke(System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
override this.Invoke : System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj
Public MustOverride Function Invoke (invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object

Parametri

invokeAttr
BindingFlags

Uno dei BindingFlags valori che specifica il tipo di associazione.

binder
Binder

Oggetto Binder che definisce un set di proprietà e abilita l'associazione, la coercizione dei tipi di argomento e la chiamata dei membri tramite reflection. Se binder è null, Binder.DefaultBinding viene usato .

parameters
Object[]

Matrice di tipo Object utilizzata per trovare la corrispondenza con il numero, l'ordine e il tipo dei parametri per questo costruttore, in base ai vincoli di binder. Se questo costruttore non richiede parametri, passare una matrice con zero elementi, come nei parametri Object[] = new Object[0]. Qualsiasi oggetto in questa matrice non inizializzato in modo esplicito con un valore conterrà il valore predefinito per tale tipo di oggetto. Per gli elementi di tipo riferimento, questo valore è null. Per gli elementi di tipo valore, questo valore è 0, 0,0 o false, a seconda del tipo di elemento specifico.

culture
CultureInfo

Oggetto CultureInfo utilizzato per gestire la coercizione dei tipi. Se è null, viene usato per CultureInfo il thread corrente.

Valori restituiti

Istanza della classe associata al costruttore.

Eccezioni

La parameters matrice non contiene valori che corrispondono ai tipi accettati da questo costruttore, in base ai vincoli di binder.

Il costruttore richiamato genera un'eccezione.

È stato passato un numero errato di parametri.

La creazione di TypedReferencetipi , ArgIteratore RuntimeArgumentHandle non è supportata.

Il chiamante non dispone delle autorizzazioni di accesso al codice necessarie.

La classe è astratta.

oppure

Il costruttore è un inizializzatore di classe.

Il costruttore è privato o protetto e il chiamante non dispone di MemberAccess.

Commenti

Il numero, il tipo e l'ordine degli elementi nella parameters matrice devono essere identici al numero, al tipo e all'ordine dei parametri per il costruttore riflessa da questa istanza.

Prima di chiamare il costruttore, Invoke assicura che il chiamante disponga dell'autorizzazione di accesso e che i parametri siano del numero, dell'ordine e del tipo corretti.

Le restrizioni di accesso vengono ignorate per il codice completamente attendibile. Ovvero, i costruttori privati, i metodi, i campi e le proprietà possono essere accessibili e richiamati tramite reflection ogni volta che il codice è completamente attendibile.

Annotazioni

Per creare un'istanza di un tipo valore senza costruttori di istanza, usare il CreateInstance metodo .

Annotazioni

Questo metodo può essere usato per accedere a membri non pubblici se il chiamante è stato concesso ReflectionPermission con il ReflectionPermissionFlag.RestrictedMemberAccess flag e se il set di concessioni dei membri non pubblici è limitato al set di concessioni del chiamante o a un subset. Vedere Security Considerations for Reflection.) Per usare questa funzionalità, l'applicazione deve avere come destinazione .NET Framework 3.5 o versione successiva.

Vedi anche

Si applica a