ConstructorInfo.Invoke 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 costruttore riprodotto da questa istanza.
Overload
Invoke(Object[]) |
Richiama il costruttore riflesso dall'istanza che ha i parametri specificati fornendo i valori predefiniti per i parametri che non sono di uso comune. |
Invoke(BindingFlags, Binder, Object[], CultureInfo) |
Quando è implementato in una classe derivata, richiama il costruttore riprodotto da questo oggetto |
Invoke(Object[])
- Origine:
- ConstructorInfo.cs
- Origine:
- ConstructorInfo.cs
- Origine:
- ConstructorInfo.cs
Richiama il costruttore riflesso dall'istanza che ha i parametri specificati fornendo i valori predefiniti per i parametri che non sono di uso comune.
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 (in base ai vincoli del binder predefinito) dei parametri per questo costruttore. Se questo costruttore non accetta parametri, usare una matrice con zero elementi o null
, come in Object[] parameters = new Object[0]. Qualsiasi oggetto in questa matrice non inizializzato in modo esplicito con un valore conterrà il valore predefinito per quel 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.
Restituisce
Istanza della classe associata al costruttore.
Eccezioni
Il costruttore è privato o protetto e il chiamante non dispone di MemberAccess.
Nota: in .NET per le app di Windows Store o nella libreria di classi portabile intercettare invece l'eccezione della classe di base, MemberAccessException, .
La matrice parameters
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 dei tipi TypedReference, ArgIterator e RuntimeArgumentHandle non è supportata.
Il chiamante non ha le autorizzazioni necessarie per accedere al codice.
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
verifica 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. Vale a dire, i costruttori privati, i metodi, i campi e le proprietà possono essere accessibili e richiamati tramite reflection ogni volta che il codice è completamente attendibile.
Nota
Per creare un'istanza di un tipo valore senza costruttori di istanza, utilizzare il CreateInstance metodo .
Questo metodo è un metodo pratico per la versione di overload seguente, usando i valori predefiniti. Questo metodo non può essere sottoposto a override.
Nota
A partire da .NET Framework 2.0, 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 la reflection. Per usare questa funzionalità, l'applicazione deve avere come destinazione .NET Framework 3.5 o versione successiva.
Si applica a
Invoke(BindingFlags, Binder, Object[], CultureInfo)
- Origine:
- ConstructorInfo.cs
- Origine:
- ConstructorInfo.cs
- Origine:
- ConstructorInfo.cs
Quando è implementato in una classe derivata, richiama il costruttore riprodotto da questo oggetto ConstructorInfo
con gli argomenti specificati, in base ai vincoli dell'oggetto Binder
specificato.
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 valori di BindingFlags
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
, viene utilizzato Binder.DefaultBinding
.
- parameters
- Object[]
Matrice di tipo Object
utilizzata per la corrispondenza del numero, dell'ordine e del tipo dei parametri per questo costruttore, in base ai vincoli dell'oggetto binder
. Se questo costruttore non richiede parametri, passare una matrice con zero elementi, come in Object[] parameters = new Object[0]. Qualsiasi oggetto in questa matrice non inizializzato in modo esplicito con un valore conterrà il valore predefinito per quel 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 usato per regolare la coercizione dei tipi. Se è null
, per il thread corrente verrà usato l'oggetto CultureInfo.
Restituisce
Istanza della classe associata al costruttore.
Eccezioni
La matrice parameters
non contiene valori corrispondenti ai tipi accettati da questo costruttore, in base ai vincoli dell'oggetto binder
.
Il costruttore richiamato genera un'eccezione.
È stato passato un numero errato di parametri.
La creazione dei tipi TypedReference, ArgIterator e RuntimeArgumentHandle non è supportata.
Il chiamante non dispone delle autorizzazioni necessarie per l'accesso di codice.
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. Vale a dire, i costruttori privati, i metodi, i campi e le proprietà possono essere accessibili e richiamati tramite reflection ogni volta che il codice è completamente attendibile.
Nota
Per creare un'istanza di un tipo valore senza costruttori di istanza, utilizzare il CreateInstance metodo .
Nota
A partire da .NET Framework 2.0, 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 la reflection. Per usare questa funzionalità, l'applicazione deve avere come destinazione .NET Framework 3.5 o versione successiva.