Condividi tramite


Delegate.CreateDelegate Metodo

Definizione

Crea un delegato del tipo specificato.

Overload

CreateDelegate(Type, Object, String, Boolean, Boolean)

Crea un delegato del tipo specificato che rappresenta il metodo di istanza specificato da richiamare sull'istanza della classe specificata, con la distinzione tra maiuscole e minuscole e il comportamento specificato in caso di errore di associazione.

CreateDelegate(Type, Type, String, Boolean)

Crea un delegato del tipo specificato che rappresenta il metodo statico specificato della classe specificata, con la distinzione tra maiuscole e minuscole specificata.

CreateDelegate(Type, Object, String, Boolean)

Crea un delegato del tipo specificato che rappresenta il metodo di istanza specificato da richiamare sull'istanza di classe specificata con la distinzione tra maiuscole e minuscole specificate.

CreateDelegate(Type, Object, MethodInfo, Boolean)

Crea un delegato del tipo specificato che rappresenta il metodo statico o di istanza specificato, con il primo argomento specificato e il comportamento specificato in caso di errore di associazione.

CreateDelegate(Type, Type, String, Boolean, Boolean)

Crea un delegato del tipo specificato che rappresenta il metodo statico specificato della classe specificata, con la distinzione tra maiuscole e minuscole e il comportamento specificato in caso di errore di associazione.

CreateDelegate(Type, MethodInfo, Boolean)

Crea un delegato del tipo specificato per rappresentare il metodo statico specificato, con il comportamento specificato in caso di errore di associazione.

CreateDelegate(Type, Object, String)

Crea un delegato del tipo specificato che rappresenta il metodo di istanza specificato da richiamare sull'istanza di classe specificata.

CreateDelegate(Type, Object, MethodInfo)

Crea un delegato del tipo specificato che rappresenta il metodo statico o di istanza specificato, con il primo argomento specificato.

CreateDelegate(Type, MethodInfo)

Crea un delegato del tipo specificato per rappresentare il metodo specificato.

CreateDelegate(Type, Type, String)

Crea un delegato del tipo specificato che rappresenta il metodo statico specificato della classe specificata.

CreateDelegate(Type, Object, String, Boolean, Boolean)

Origine:
Delegate.CoreCLR.cs
Origine:
Delegate.CoreCLR.cs
Origine:
Delegate.CoreCLR.cs

Crea un delegato del tipo specificato che rappresenta il metodo di istanza specificato da richiamare sull'istanza della classe specificata, con la distinzione tra maiuscole e minuscole e il comportamento specificato in caso di errore di associazione.

public:
 static Delegate ^ CreateDelegate(Type ^ type, System::Object ^ target, System::String ^ method, bool ignoreCase, bool throwOnBindFailure);
public static Delegate? CreateDelegate (Type type, object target, string method, bool ignoreCase, bool throwOnBindFailure);
public static Delegate CreateDelegate (Type type, object target, string method, bool ignoreCase, bool throwOnBindFailure);
static member CreateDelegate : Type * obj * string * bool * bool -> Delegate
Public Shared Function CreateDelegate (type As Type, target As Object, method As String, ignoreCase As Boolean, throwOnBindFailure As Boolean) As Delegate

Parametri

type
Type

Type del delegato da creare.

target
Object

Istanza della classe in cui viene richiamato method.

method
String

Nome del metodo di istanza che il delegato deve rappresentare.

ignoreCase
Boolean

Valore booleano che indica se ignorare la distinzione tra maiuscole e minuscole durante il confronto del nome del metodo.

throwOnBindFailure
Boolean

true generare un'eccezione se method non può essere associato; in caso contrario, false.

Restituisce

Delegato del tipo specificato che rappresenta il metodo di istanza specificato da richiamare sull'istanza di classe specificata.

Eccezioni

type è null.

-o-

target è null.

-o-

method è null.

type non eredita MulticastDelegate.

-o-

type non è un RuntimeType. Vedere Tipi di runtime in Reflection.

-o-

method non è un metodo di istanza.

-o-

method non può essere associato, ad esempio perché non è possibile trovarlo e throwOnBindFailure è true.

Il metodo Invoke di type non viene trovato.

Il chiamante non dispone delle autorizzazioni necessarie per accedere a method.

Commenti

Questo metodo crea delegati solo per i metodi di istanza. Un metodo di istanza è un metodo associato a un'istanza di una classe; un metodo statico è un metodo associato alla classe stessa.

Vedi anche

Si applica a

CreateDelegate(Type, Type, String, Boolean)

Origine:
Delegate.cs
Origine:
Delegate.cs
Origine:
Delegate.cs

Crea un delegato del tipo specificato che rappresenta il metodo statico specificato della classe specificata, con la distinzione tra maiuscole e minuscole specificata.

public:
 static Delegate ^ CreateDelegate(Type ^ type, Type ^ target, System::String ^ method, bool ignoreCase);
public static Delegate CreateDelegate (Type type, Type target, string method, bool ignoreCase);
static member CreateDelegate : Type * Type * string * bool -> Delegate
Public Shared Function CreateDelegate (type As Type, target As Type, method As String, ignoreCase As Boolean) As Delegate

Parametri

type
Type

Type del delegato da creare.

target
Type

Il Type che rappresenta la classe che implementa method.

method
String

Nome del metodo statico che il delegato deve rappresentare.

ignoreCase
Boolean

Valore booleano che indica se ignorare la distinzione tra maiuscole e minuscole durante il confronto del nome del metodo.

Restituisce

Delegato del tipo specificato che rappresenta il metodo statico specificato della classe specificata.

Eccezioni

type è null.

-o-

target è null.

-o-

method è null.

type non eredita MulticastDelegate.

-o-

type non è un RuntimeType. Vedere Tipi di runtime in Reflection.

-o-

target non è un RuntimeType.

-o-

target è un tipo generico aperto. Ovvero, la proprietà ContainsGenericParameters è true.

-o-

method non è un metodo static ( metodoShared in Visual Basic).

-o-

method non può essere associato, ad esempio perché non è possibile trovarlo.

Il metodo Invoke di type non viene trovato.

Il chiamante non dispone delle autorizzazioni necessarie per accedere a method.

Commenti

Questo metodo crea delegati solo per i metodi statici. Un metodo di istanza è un metodo associato a un'istanza di una classe; un metodo statico è un metodo associato alla classe stessa.

Questo overload del metodo equivale a chiamare l'overload del metodo CreateDelegate(Type, Type, String, Boolean, Boolean), specificando true per throwOnBindFailure.

Vedi anche

Si applica a

CreateDelegate(Type, Object, String, Boolean)

Origine:
Delegate.cs
Origine:
Delegate.cs
Origine:
Delegate.cs

Crea un delegato del tipo specificato che rappresenta il metodo di istanza specificato da richiamare sull'istanza di classe specificata con la distinzione tra maiuscole e minuscole specificate.

public:
 static Delegate ^ CreateDelegate(Type ^ type, System::Object ^ target, System::String ^ method, bool ignoreCase);
public static Delegate CreateDelegate (Type type, object target, string method, bool ignoreCase);
static member CreateDelegate : Type * obj * string * bool -> Delegate
Public Shared Function CreateDelegate (type As Type, target As Object, method As String, ignoreCase As Boolean) As Delegate

Parametri

type
Type

Type del delegato da creare.

target
Object

Istanza della classe in cui viene richiamato method.

method
String

Nome del metodo di istanza che il delegato deve rappresentare.

ignoreCase
Boolean

Valore booleano che indica se ignorare la distinzione tra maiuscole e minuscole durante il confronto del nome del metodo.

Restituisce

Delegato del tipo specificato che rappresenta il metodo di istanza specificato da richiamare sull'istanza di classe specificata.

Eccezioni

type è null.

-o-

target è null.

-o-

method è null.

type non eredita MulticastDelegate.

-o-

type non è un RuntimeType. Vedere Tipi di runtime in Reflection.

-o-

method non è un metodo di istanza.

-o-

method non può essere associato, ad esempio perché non è possibile trovarlo.

Il metodo Invoke di type non viene trovato.

Il chiamante non dispone delle autorizzazioni necessarie per accedere a method.

Commenti

Questo metodo crea delegati solo per i metodi di istanza. Un metodo di istanza è un metodo associato a un'istanza di una classe; un metodo statico è un metodo associato alla classe stessa.

Questo overload del metodo equivale a chiamare l'overload del metodo CreateDelegate(Type, Object, String, Boolean, Boolean), specificando true per throwOnBindFailure.

Vedi anche

Si applica a

CreateDelegate(Type, Object, MethodInfo, Boolean)

Origine:
Delegate.CoreCLR.cs
Origine:
Delegate.CoreCLR.cs
Origine:
Delegate.CoreCLR.cs

Crea un delegato del tipo specificato che rappresenta il metodo statico o di istanza specificato, con il primo argomento specificato e il comportamento specificato in caso di errore di associazione.

public:
 static Delegate ^ CreateDelegate(Type ^ type, System::Object ^ firstArgument, System::Reflection::MethodInfo ^ method, bool throwOnBindFailure);
public static Delegate? CreateDelegate (Type type, object? firstArgument, System.Reflection.MethodInfo method, bool throwOnBindFailure);
public static Delegate CreateDelegate (Type type, object firstArgument, System.Reflection.MethodInfo method, bool throwOnBindFailure);
static member CreateDelegate : Type * obj * System.Reflection.MethodInfo * bool -> Delegate
Public Shared Function CreateDelegate (type As Type, firstArgument As Object, method As MethodInfo, throwOnBindFailure As Boolean) As Delegate

Parametri

type
Type

Oggetto Type che rappresenta il tipo di delegato da creare.

firstArgument
Object

Oggetto Object che rappresenta il primo argomento del metodo rappresentato dal delegato. Ad esempio, i metodi devono essere compatibili con il tipo di istanza.

method
MethodInfo

Il MethodInfo che descrive il metodo statico o di istanza che il delegato deve rappresentare.

throwOnBindFailure
Boolean

true generare un'eccezione se method non può essere associato; in caso contrario, false.

Restituisce

Delegato del tipo specificato che rappresenta il metodo statico o dell'istanza specificato oppure null se throwOnBindFailure è false e il delegato non può essere associato a method.

Eccezioni

type è null.

-o-

method è null.

type non eredita MulticastDelegate.

-o-

type non è un RuntimeType. Vedere Tipi di runtime in Reflection.

-o-

method non può essere associato e throwOnBindFailure è true.

-o-

method non è un RuntimeMethodInfo. Vedere Tipi di runtime in Reflection.

Il metodo Invoke di type non viene trovato.

Il chiamante non dispone delle autorizzazioni necessarie per accedere a method.

Commenti

Questo overload del metodo e l'overload del metodo CreateDelegate(Type, Object, MethodInfo), che genera sempre un errore di associazione, offrono il modo più flessibile per creare delegati. È possibile usarli per creare delegati per metodi statici o di istanza, con o senza un primo argomento.

Nota

Se non si specifica un primo argomento, usare l'overload del metodo CreateDelegate(Type, MethodInfo, Boolean) per ottenere prestazioni migliori.

Per altre informazioni ed esempi, vedere osservazioni supplementari sull'API per System.Delegate.CreateDelegate.

Vedi anche

Si applica a

CreateDelegate(Type, Type, String, Boolean, Boolean)

Origine:
Delegate.CoreCLR.cs
Origine:
Delegate.CoreCLR.cs
Origine:
Delegate.CoreCLR.cs

Crea un delegato del tipo specificato che rappresenta il metodo statico specificato della classe specificata, con la distinzione tra maiuscole e minuscole e il comportamento specificato in caso di errore di associazione.

public:
 static Delegate ^ CreateDelegate(Type ^ type, Type ^ target, System::String ^ method, bool ignoreCase, bool throwOnBindFailure);
public static Delegate? CreateDelegate (Type type, Type target, string method, bool ignoreCase, bool throwOnBindFailure);
public static Delegate CreateDelegate (Type type, Type target, string method, bool ignoreCase, bool throwOnBindFailure);
static member CreateDelegate : Type * Type * string * bool * bool -> Delegate
Public Shared Function CreateDelegate (type As Type, target As Type, method As String, ignoreCase As Boolean, throwOnBindFailure As Boolean) As Delegate

Parametri

type
Type

Type del delegato da creare.

target
Type

Il Type che rappresenta la classe che implementa method.

method
String

Nome del metodo statico che il delegato deve rappresentare.

ignoreCase
Boolean

Valore booleano che indica se ignorare la distinzione tra maiuscole e minuscole durante il confronto del nome del metodo.

throwOnBindFailure
Boolean

true generare un'eccezione se method non può essere associato; in caso contrario, false.

Restituisce

Delegato del tipo specificato che rappresenta il metodo statico specificato della classe specificata.

Eccezioni

type è null.

-o-

target è null.

-o-

method è null.

type non eredita MulticastDelegate.

-o-

type non è un RuntimeType. Vedere Tipi di runtime in Reflection.

-o-

target non è un RuntimeType.

-o-

target è un tipo generico aperto. Ovvero, la proprietà ContainsGenericParameters è true.

-o-

method non è un metodo static ( metodoShared in Visual Basic).

-o-

method non può essere associato, ad esempio perché non è possibile trovarlo e throwOnBindFailure è true.

Il metodo Invoke di type non viene trovato.

Il chiamante non dispone delle autorizzazioni necessarie per accedere a method.

Commenti

Questo metodo crea delegati solo per i metodi statici. Un metodo di istanza è un metodo associato a un'istanza di una classe; un metodo statico è un metodo associato alla classe stessa.

Vedi anche

Si applica a

CreateDelegate(Type, MethodInfo, Boolean)

Origine:
Delegate.CoreCLR.cs
Origine:
Delegate.CoreCLR.cs
Origine:
Delegate.CoreCLR.cs

Crea un delegato del tipo specificato per rappresentare il metodo statico specificato, con il comportamento specificato in caso di errore di associazione.

public:
 static Delegate ^ CreateDelegate(Type ^ type, System::Reflection::MethodInfo ^ method, bool throwOnBindFailure);
public static Delegate? CreateDelegate (Type type, System.Reflection.MethodInfo method, bool throwOnBindFailure);
public static Delegate CreateDelegate (Type type, System.Reflection.MethodInfo method, bool throwOnBindFailure);
static member CreateDelegate : Type * System.Reflection.MethodInfo * bool -> Delegate
Public Shared Function CreateDelegate (type As Type, method As MethodInfo, throwOnBindFailure As Boolean) As Delegate

Parametri

type
Type

Type del delegato da creare.

method
MethodInfo

Il MethodInfo che descrive il metodo statico o di istanza che il delegato deve rappresentare.

throwOnBindFailure
Boolean

true generare un'eccezione se method non può essere associato; in caso contrario, false.

Restituisce

Delegato del tipo specificato per rappresentare il metodo statico specificato.

Eccezioni

type è null.

-o-

method è null.

type non eredita MulticastDelegate.

-o-

type non è un RuntimeType. Vedere Tipi di runtime in Reflection.

-o-

method non può essere associato e throwOnBindFailure è true.

-o-

method non è un RuntimeMethodInfo. Vedere Tipi di runtime in Reflection.

Il metodo Invoke di type non viene trovato.

Il chiamante non dispone delle autorizzazioni necessarie per accedere a method.

Commenti

Questo overload del metodo può creare delegati di metodo statici aperti e delegati del metodo di istanza aperta, ovvero delegati che espongono il primo argomento nascosto dei metodi di istanza. Per una spiegazione dettagliata, vedere l'overload del metodo CreateDelegate(Type, Object, MethodInfo, Boolean) più generale, che consente di creare tutte le combinazioni di delegati aperti o chiusi per l'istanza o i metodi statici.

Nota

Questo overload del metodo deve essere usato quando il delegato non viene chiuso sul primo argomento, perché è leggermente più veloce in questo caso.

Per esempi, vedere osservazioni supplementari dell'API per System.Delegate.CreateDelegate.

Vedi anche

Si applica a

CreateDelegate(Type, Object, String)

Origine:
Delegate.cs
Origine:
Delegate.cs
Origine:
Delegate.cs

Crea un delegato del tipo specificato che rappresenta il metodo di istanza specificato da richiamare sull'istanza di classe specificata.

public:
 static Delegate ^ CreateDelegate(Type ^ type, System::Object ^ target, System::String ^ method);
public static Delegate CreateDelegate (Type type, object target, string method);
static member CreateDelegate : Type * obj * string -> Delegate
Public Shared Function CreateDelegate (type As Type, target As Object, method As String) As Delegate

Parametri

type
Type

Type del delegato da creare.

target
Object

Istanza della classe in cui viene richiamato method.

method
String

Nome del metodo di istanza che il delegato deve rappresentare.

Restituisce

Delegato del tipo specificato che rappresenta il metodo di istanza specificato da richiamare sull'istanza di classe specificata.

Eccezioni

type è null.

-o-

target è null.

-o-

method è null.

type non eredita MulticastDelegate.

-o-

type non è un RuntimeType. Vedere Tipi di runtime in Reflection.

-o-

method non è un metodo di istanza.

-o-

method non può essere associato, ad esempio perché non è possibile trovarlo.

Il metodo Invoke di type non viene trovato.

Il chiamante non dispone delle autorizzazioni necessarie per accedere a method.

Commenti

Questo metodo crea delegati solo per i metodi di istanza. Un metodo di istanza è un metodo associato a un'istanza di una classe; un metodo statico è un metodo associato alla classe stessa.

Questo overload del metodo equivale a chiamare l'overload del metodo CreateDelegate(Type, Object, String, Boolean, Boolean), specificando false per ignoreCase e true per throwOnBindFailure.

Vedi anche

Si applica a

CreateDelegate(Type, Object, MethodInfo)

Origine:
Delegate.cs
Origine:
Delegate.cs
Origine:
Delegate.cs

Crea un delegato del tipo specificato che rappresenta il metodo statico o di istanza specificato, con il primo argomento specificato.

public:
 static Delegate ^ CreateDelegate(Type ^ type, System::Object ^ firstArgument, System::Reflection::MethodInfo ^ method);
public static Delegate CreateDelegate (Type type, object? firstArgument, System.Reflection.MethodInfo method);
public static Delegate CreateDelegate (Type type, object firstArgument, System.Reflection.MethodInfo method);
static member CreateDelegate : Type * obj * System.Reflection.MethodInfo -> Delegate
Public Shared Function CreateDelegate (type As Type, firstArgument As Object, method As MethodInfo) As Delegate

Parametri

type
Type

Type del delegato da creare.

firstArgument
Object

Oggetto a cui è associato il delegato o null di trattare method come static (Shared in Visual Basic).

method
MethodInfo

Il MethodInfo che descrive il metodo statico o di istanza che il delegato deve rappresentare.

Restituisce

Delegato del tipo specificato che rappresenta il metodo statico o di istanza specificato.

Eccezioni

type è null.

-o-

method è null.

type non eredita MulticastDelegate.

-o-

type non è un RuntimeType. Vedere Tipi di runtime in Reflection.

-o-

method non può essere associato.

-o-

method non è un RuntimeMethodInfo. Vedere Tipi di runtime in Reflection.

Il metodo Invoke di type non viene trovato.

Il chiamante non dispone delle autorizzazioni necessarie per accedere a method.

Commenti

La chiamata a questo overload del metodo equivale a chiamare l'overload del metodo CreateDelegate(Type, Object, MethodInfo, Boolean) e specificare true per throwOnBindFailure. Questi due overload offrono il modo più flessibile per creare delegati. È possibile usarli per creare delegati per i metodi statici o di istanza e, facoltativamente, per specificare il primo argomento.

Nota

Se non si specifica un primo argomento, usare l'overload del metodo CreateDelegate(Type, MethodInfo) per ottenere prestazioni migliori.

Per altre informazioni su questa API, vedere osservazioni supplementari sull'API per System.Delegate.CreateDelegate.

Vedi anche

Si applica a

CreateDelegate(Type, MethodInfo)

Origine:
Delegate.cs
Origine:
Delegate.cs
Origine:
Delegate.cs

Crea un delegato del tipo specificato per rappresentare il metodo specificato.

public:
 static Delegate ^ CreateDelegate(Type ^ type, System::Reflection::MethodInfo ^ method);
public static Delegate CreateDelegate (Type type, System.Reflection.MethodInfo method);
static member CreateDelegate : Type * System.Reflection.MethodInfo -> Delegate
Public Shared Function CreateDelegate (type As Type, method As MethodInfo) As Delegate

Parametri

type
Type

Type del delegato da creare.

method
MethodInfo

Il MethodInfo che descrive il metodo statico o di istanza che il delegato deve rappresentare.

Restituisce

Delegato del tipo specificato per rappresentare il metodo specificato.

Eccezioni

type è null.

-o-

method è null.

type non eredita MulticastDelegate.

-o-

type non è un RuntimeType. Vedere Tipi di runtime in Reflection.

-o-

method non può essere associato.

-o-

method non è un RuntimeMethodInfo. Vedere Tipi di runtime in Reflection.

Il metodo Invoke di type non viene trovato.

Il chiamante non dispone delle autorizzazioni necessarie per accedere a method.

Commenti

Questo overload può creare delegati per metodi statici e delegati del metodo di istanza aperta; ovvero i delegati che forniscono in modo esplicito il primo argomento nascosto dei metodi di istanza. Per una spiegazione dettagliata, vedere l'overload del metodo CreateDelegate(Type, Object, MethodInfo) più generale, che consente di creare tutte le combinazioni di delegati aperti o chiusi per esempio o metodi statici e, facoltativamente, per specificare un primo argomento.

Nota

Questo overload del metodo deve essere usato quando il delegato non viene chiuso sul primo argomento, perché è leggermente più veloce in questo caso.

Per altre informazioni su questa API, vedere osservazioni supplementari sull'API per System.Delegate.CreateDelegate.

Vedi anche

Si applica a

CreateDelegate(Type, Type, String)

Origine:
Delegate.cs
Origine:
Delegate.cs
Origine:
Delegate.cs

Crea un delegato del tipo specificato che rappresenta il metodo statico specificato della classe specificata.

public:
 static Delegate ^ CreateDelegate(Type ^ type, Type ^ target, System::String ^ method);
public static Delegate CreateDelegate (Type type, Type target, string method);
static member CreateDelegate : Type * Type * string -> Delegate
Public Shared Function CreateDelegate (type As Type, target As Type, method As String) As Delegate

Parametri

type
Type

Type del delegato da creare.

target
Type

Il Type che rappresenta la classe che implementa method.

method
String

Nome del metodo statico che il delegato deve rappresentare.

Restituisce

Delegato del tipo specificato che rappresenta il metodo statico specificato della classe specificata.

Eccezioni

type è null.

-o-

target è null.

-o-

method è null.

type non eredita MulticastDelegate.

-o-

type non è un RuntimeType. Vedere Tipi di runtime in Reflection.

-o-

target non è un RuntimeType.

-o-

target è un tipo generico aperto. Ovvero, la proprietà ContainsGenericParameters è true.

-o-

method non è un metodo static ( metodoShared in Visual Basic).

Il metodo Invoke di type non viene trovato.

Il chiamante non dispone delle autorizzazioni necessarie per accedere a method.

Commenti

Questo metodo crea delegati solo per i metodi statici. Un metodo di istanza è un metodo associato a un'istanza di una classe; un metodo statico è un metodo associato alla classe stessa.

Questo overload del metodo equivale a chiamare l'overload del metodo CreateDelegate(Type, Type, String, Boolean, Boolean), specificando false per ignoreCase e true per throwOnBindFailure.

Vedi anche

Si applica a