Delegate.CreateDelegate Methode

Definition

Erstellt einen Delegaten vom angegebenen Typs.

Überlädt

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

Erstellt einen Delegaten vom angegebenen Typ, der die angegebene Instanzenmethode darstellt, die für die angegebene Klasseninstanz aufgerufen werden soll, wobei die Groß- und Kleinschreibung und das Verhalten bei Bindungsfehlern den Angaben entsprechend berücksichtigt bzw. nicht berücksichtigt wird.

CreateDelegate(Type, Type, String, Boolean)

Erstellt einen Delegaten vom angegebenen Typ, der die angegebene statische Methode der angegebenen Klasse mit der angegebenen Berücksichtigung von Groß- und Kleinschreibung darstellt.

CreateDelegate(Type, Object, String, Boolean)

Erstellt einen Delegaten vom angegebenen Typ, der die angegebene Instanzenmethode darstellt, die für die angegebene Klasseninstanz aufgerufen werden soll, wobei die Groß- und Kleinschreibung den Angaben entsprechend berücksichtigt bzw. nicht berücksichtigt wird.

CreateDelegate(Type, Object, MethodInfo, Boolean)

Erstellt einen Delegaten vom angegebenen Typ, der die angegebene statische Methode oder Instanzmethode mit dem angegebenen ersten Argument und dem angegebenen Verhalten bei Bindungsfehlern darstellt.

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

Erstellt einen Delegaten vom angegebenen Typ, der die angegebene statische Methode der angegebenen Klasse darstellt, wobei die Groß- und Kleinschreibung und das Verhalten bei Bindungsfehlern den Angaben entsprechend berücksichtigt bzw. nicht berücksichtigt wird.

CreateDelegate(Type, MethodInfo, Boolean)

Erstellt einen Delegaten vom angegeben Typ zum Darstellen der angegebenen statischen Methode mit dem angegebenen Verhalten bei Bindungsfehlern.

CreateDelegate(Type, Object, String)

Erstellt einen Delegaten vom angegebenen Typ, der die angegebene Instanzenmethode darstellt, die für die angegebene Klasseninstanz aufgerufen werden soll.

CreateDelegate(Type, Object, MethodInfo)

Erstellt einen Delegaten vom angegebenen Typ, der die angegebene statische Methode oder Instanzmethode mit dem angegebenen ersten Argument darstellt.

CreateDelegate(Type, MethodInfo)

Erstellt einen Delegaten des angegebenen Typs, um die angegebene Methode darzustellen.

CreateDelegate(Type, Type, String)

Erstellt einen Delegaten vom angegebenen Typ, der die angegebene statische Methode der angegebenen Klasse darstellt.

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

Erstellt einen Delegaten vom angegebenen Typ, der die angegebene Instanzenmethode darstellt, die für die angegebene Klasseninstanz aufgerufen werden soll, wobei die Groß- und Kleinschreibung und das Verhalten bei Bindungsfehlern den Angaben entsprechend berücksichtigt bzw. nicht berücksichtigt wird.

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

Parameter

type
Type

Der Type des zu erstellenden Delegaten.

target
Object

Die Klasseninstanz, für die method aufgerufen wird.

method
String

Der Name der Instanzenmethode, die durch den Delegaten dargestellt werden soll.

ignoreCase
Boolean

Ein boolescher Wert, der angibt, ob die Groß- und Kleinschreibung beim Vergleichen des Methodennamens berücksichtigt werden soll.

throwOnBindFailure
Boolean

true, um eine Ausnahme auszulösen, wenn method nicht gebunden werden kann, andernfalls false.

Gibt zurück

Ein Delegat vom angegebenen Typ, der die angegebene Instanzenmethode darstellt, die für die angegebene Klasseninstanz aufgerufen werden soll.

Ausnahmen

type ist null.

- oder -

target ist null.

- oder -

method ist null.

type erbt nicht MulticastDelegate.

- oder -

type ist keine RuntimeType. Siehe Laufzeittypen in Reflektion.

- oder -

method ist keine Instanzenmethode.

- oder -

method kann nicht gebunden werden, z. B. weil sie nicht gefunden wurde, und throwOnBindFailure ist gleich true.

Die Invoke-Methode von type wurde nicht gefunden.

Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für den Zugriff auf method.

Hinweise

Diese Methode erstellt Delegaten nur für instance Methoden. Eine instance-Methode ist eine Methode, die einem instance einer Klasse zugeordnet ist. Eine statische Methode ist eine Methode, die der Klasse selbst zugeordnet ist.

Weitere Informationen

Gilt für:

CreateDelegate(Type, Type, String, Boolean)

Erstellt einen Delegaten vom angegebenen Typ, der die angegebene statische Methode der angegebenen Klasse mit der angegebenen Berücksichtigung von Groß- und Kleinschreibung darstellt.

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

Parameter

type
Type

Der Type des zu erstellenden Delegaten.

target
Type

Der Type, der die Klasse darstellt, die von method implementiert wird.

method
String

Der Name der statischen Methode, die durch den Delegaten dargestellt werden soll.

ignoreCase
Boolean

Ein boolescher Wert, der angibt, ob die Groß- und Kleinschreibung beim Vergleichen des Methodennamens berücksichtigt werden soll.

Gibt zurück

Ein Delegat vom angegebenen Typ, der die angegebene statische Methode der angegebenen Klasse darstellt.

Ausnahmen

type ist null.

- oder -

target ist null.

- oder -

method ist null.

type erbt nicht MulticastDelegate.

- oder -

type ist keine RuntimeType. Siehe Laufzeittypen in Reflektion.

- oder -

target ist keine RuntimeType.

- oder -

target ist ein offener generischer Typ. Das bedeutet, die ContainsGenericParameters-Eigenschaft ist true.

- oder -

method ist keine static-Methode (Shared-Methode in Visual Basic).

- oder -

method kann nicht gebunden werden, z. B. weil sie nicht gefunden wurde.

Die Invoke-Methode von type wurde nicht gefunden.

Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für den Zugriff auf method.

Hinweise

Diese Methode erstellt Delegaten nur für statische Methoden. Eine instance-Methode ist eine Methode, die einem instance einer Klasse zugeordnet ist. Eine statische Methode ist eine Methode, die der Klasse selbst zugeordnet ist.

Diese Methodenüberladung entspricht dem Aufrufen der CreateDelegate(Type, Type, String, Boolean, Boolean) Methodenüberladung, wobei für throwOnBindFailureangegeben true wird.

Weitere Informationen

Gilt für:

CreateDelegate(Type, Object, String, Boolean)

Erstellt einen Delegaten vom angegebenen Typ, der die angegebene Instanzenmethode darstellt, die für die angegebene Klasseninstanz aufgerufen werden soll, wobei die Groß- und Kleinschreibung den Angaben entsprechend berücksichtigt bzw. nicht berücksichtigt wird.

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

Parameter

type
Type

Der Type des zu erstellenden Delegaten.

target
Object

Die Klasseninstanz, für die method aufgerufen wird.

method
String

Der Name der Instanzenmethode, die durch den Delegaten dargestellt werden soll.

ignoreCase
Boolean

Ein boolescher Wert, der angibt, ob die Groß- und Kleinschreibung beim Vergleichen des Methodennamens berücksichtigt werden soll.

Gibt zurück

Ein Delegat vom angegebenen Typ, der die angegebene Instanzenmethode darstellt, die für die angegebene Klasseninstanz aufgerufen werden soll.

Ausnahmen

type ist null.

- oder -

target ist null.

- oder -

method ist null.

type erbt nicht MulticastDelegate.

- oder -

type ist keine RuntimeType. Siehe Laufzeittypen in Reflektion.

- oder -

method ist keine Instanzenmethode.

- oder -

method kann nicht gebunden werden, z. B. weil sie nicht gefunden wurde.

Die Invoke-Methode von type wurde nicht gefunden.

Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für den Zugriff auf method.

Hinweise

Diese Methode erstellt Delegaten nur für instance Methoden. Eine instance-Methode ist eine Methode, die einem instance einer Klasse zugeordnet ist. Eine statische Methode ist eine Methode, die der Klasse selbst zugeordnet ist.

Diese Methodenüberladung entspricht dem Aufrufen der CreateDelegate(Type, Object, String, Boolean, Boolean) Methodenüberladung, wobei für throwOnBindFailureangegeben true wird.

Weitere Informationen

Gilt für:

CreateDelegate(Type, Object, MethodInfo, Boolean)

Erstellt einen Delegaten vom angegebenen Typ, der die angegebene statische Methode oder Instanzmethode mit dem angegebenen ersten Argument und dem angegebenen Verhalten bei Bindungsfehlern darstellt.

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

Parameter

type
Type

Ein Type, der den Typ des zu erstellenden Delegaten darstellt.

firstArgument
Object

Ein Object, das das erste Argument der Methode ist, die der Delegat darstellt. Bei Instanzmethoden muss dieses mit dem Instanztyp kompatibel sein.

method
MethodInfo

Die MethodInfo, die die statische Methode oder Instanzmethode beschreibt, die der Delegat darstellen soll.

throwOnBindFailure
Boolean

true, um eine Ausnahme auszulösen, wenn method nicht gebunden werden kann, andernfalls false.

Gibt zurück

Ein Delegat des angegebenen Typs, der die angegebene statische Methode oder Instanzmethode darstellt, oder null, wenn throwOnBindFailurefalse ist und der Delegat nicht an method gebunden werden kann.

Ausnahmen

type ist null.

- oder -

method ist null.

type erbt nicht MulticastDelegate.

- oder -

type ist keine RuntimeType. Siehe Laufzeittypen in Reflektion.

- oder -

method kann nicht gebunden werden, und throwOnBindFailure ist true.

- oder -

method ist keine RuntimeMethodInfo. Siehe Laufzeittypen in Reflektion.

Die Invoke-Methode von type wurde nicht gefunden.

Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für den Zugriff auf method.

Hinweise

Diese Methodenüberladung und die CreateDelegate(Type, Object, MethodInfo) Methodenüberladung, die immer bei einem Bindungsfehler ausgelöst wird, bieten die flexibelste Möglichkeit zum Erstellen von Delegaten. Sie können sie verwenden, um Delegaten für statische oder instance Methoden mit oder ohne erstes Argument zu erstellen.

Hinweis

Wenn Sie kein erstes Argument angeben, verwenden Sie die Methodenüberladung, um die CreateDelegate(Type, MethodInfo, Boolean) Leistung zu verbessern.

Weitere Informationen und Beispiele finden Sie unter Ergänzende API-Hinweise für System.Delegate.CreateDelegate.

Weitere Informationen

Gilt für:

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

Erstellt einen Delegaten vom angegebenen Typ, der die angegebene statische Methode der angegebenen Klasse darstellt, wobei die Groß- und Kleinschreibung und das Verhalten bei Bindungsfehlern den Angaben entsprechend berücksichtigt bzw. nicht berücksichtigt wird.

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

Parameter

type
Type

Der Type des zu erstellenden Delegaten.

target
Type

Der Type, der die Klasse darstellt, die von method implementiert wird.

method
String

Der Name der statischen Methode, die durch den Delegaten dargestellt werden soll.

ignoreCase
Boolean

Ein boolescher Wert, der angibt, ob die Groß- und Kleinschreibung beim Vergleichen des Methodennamens berücksichtigt werden soll.

throwOnBindFailure
Boolean

true, um eine Ausnahme auszulösen, wenn method nicht gebunden werden kann, andernfalls false.

Gibt zurück

Ein Delegat vom angegebenen Typ, der die angegebene statische Methode der angegebenen Klasse darstellt.

Ausnahmen

type ist null.

- oder -

target ist null.

- oder -

method ist null.

type erbt nicht MulticastDelegate.

- oder -

type ist keine RuntimeType. Siehe Laufzeittypen in Reflektion.

- oder -

target ist keine RuntimeType.

- oder -

target ist ein offener generischer Typ. Das bedeutet, die ContainsGenericParameters-Eigenschaft ist true.

- oder -

method ist keine static-Methode (Shared-Methode in Visual Basic).

- oder -

method kann nicht gebunden werden, z. B. weil sie nicht gefunden wurde, und throwOnBindFailure ist gleich true.

Die Invoke-Methode von type wurde nicht gefunden.

Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für den Zugriff auf method.

Hinweise

Diese Methode erstellt Delegaten nur für statische Methoden. Eine instance-Methode ist eine Methode, die einem instance einer Klasse zugeordnet ist. Eine statische Methode ist eine Methode, die der Klasse selbst zugeordnet ist.

Weitere Informationen

Gilt für:

CreateDelegate(Type, MethodInfo, Boolean)

Erstellt einen Delegaten vom angegeben Typ zum Darstellen der angegebenen statischen Methode mit dem angegebenen Verhalten bei Bindungsfehlern.

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

Parameter

type
Type

Der Type des zu erstellenden Delegaten.

method
MethodInfo

Die MethodInfo, die die statische Methode oder Instanzmethode beschreibt, die der Delegat darstellen soll.

throwOnBindFailure
Boolean

true, um eine Ausnahme auszulösen, wenn method nicht gebunden werden kann, andernfalls false.

Gibt zurück

Ein Delegat vom angegebenen Typ, der die angegebene statische Methode darstellen soll.

Ausnahmen

type ist null.

- oder -

method ist null.

type erbt nicht MulticastDelegate.

- oder -

type ist keine RuntimeType. Siehe Laufzeittypen in Reflektion.

- oder -

method kann nicht gebunden werden, und throwOnBindFailure ist true.

- oder -

method ist keine RuntimeMethodInfo. Siehe Laufzeittypen in Reflektion.

Die Invoke-Methode von type wurde nicht gefunden.

Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für den Zugriff auf method.

Hinweise

Diese Methodenüberladung kann geöffnete statische Methodendelegaten erstellen und instance Methodendelegaten öffnen, d. h. Delegaten, die das ausgeblendete erste Argument von instance Methoden verfügbar machen. Eine ausführliche Erläuterung finden Sie in der allgemeineren CreateDelegate(Type, Object, MethodInfo, Boolean) Methodenüberladung, mit der Sie alle Kombinationen von offenen oder geschlossenen Delegaten für instance oder statische Methoden erstellen können.

Hinweis

Diese Methodenüberladung sollte verwendet werden, wenn der Delegat nicht über sein erstes Argument geschlossen wird, da es in diesem Fall etwas schneller ist.

Beispiele finden Sie unter Ergänzende API-Hinweise für System.Delegate.CreateDelegate.

Weitere Informationen

Gilt für:

CreateDelegate(Type, Object, String)

Erstellt einen Delegaten vom angegebenen Typ, der die angegebene Instanzenmethode darstellt, die für die angegebene Klasseninstanz aufgerufen werden soll.

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

Parameter

type
Type

Der Type des zu erstellenden Delegaten.

target
Object

Die Klasseninstanz, für die method aufgerufen wird.

method
String

Der Name der Instanzenmethode, die durch den Delegaten dargestellt werden soll.

Gibt zurück

Ein Delegat vom angegebenen Typ, der die angegebene Instanzenmethode darstellt, die für die angegebene Klasseninstanz aufgerufen werden soll.

Ausnahmen

type ist null.

- oder -

target ist null.

- oder -

method ist null.

type erbt nicht MulticastDelegate.

- oder -

type ist keine RuntimeType. Siehe Laufzeittypen in Reflektion.

- oder -

method ist keine Instanzenmethode.

- oder -

method kann nicht gebunden werden, z. B. weil sie nicht gefunden wurde.

Die Invoke-Methode von type wurde nicht gefunden.

Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für den Zugriff auf method.

Hinweise

Diese Methode erstellt Delegaten nur für instance Methoden. Eine instance-Methode ist eine Methode, die einem instance einer Klasse zugeordnet ist. Eine statische Methode ist eine Methode, die der Klasse selbst zugeordnet ist.

Diese Methodenüberladung entspricht dem Aufrufen der CreateDelegate(Type, Object, String, Boolean, Boolean) Methodenüberladung, wobei für ignoreCase und true für throwOnBindFailureangegeben false wird.

Weitere Informationen

Gilt für:

CreateDelegate(Type, Object, MethodInfo)

Erstellt einen Delegaten vom angegebenen Typ, der die angegebene statische Methode oder Instanzmethode mit dem angegebenen ersten Argument darstellt.

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

Parameter

type
Type

Der Type des zu erstellenden Delegaten.

firstArgument
Object

Das Objekt, an das der Delegat gebunden ist, oder null, um method als static (Shared in Visual Basic) zu behandeln.

method
MethodInfo

Die MethodInfo, die die statische Methode oder Instanzmethode beschreibt, die der Delegat darstellen soll.

Gibt zurück

Ein Delegat vom angegebenen Typ, der die angegebene statische Methode oder Instanzmethode darstellt.

Ausnahmen

type ist null.

- oder -

method ist null.

type erbt nicht MulticastDelegate.

- oder -

type ist keine RuntimeType. Siehe Laufzeittypen in Reflektion.

- oder -

method kann nicht gebunden werden.

- oder -

method ist keine RuntimeMethodInfo. Siehe Laufzeittypen in Reflektion.

Die Invoke-Methode von type wurde nicht gefunden.

Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für den Zugriff auf method.

Hinweise

Das Aufrufen dieser Methodenüberladung entspricht dem Aufrufen der CreateDelegate(Type, Object, MethodInfo, Boolean) Methodenüberladung und dem Angeben true für throwOnBindFailure. Diese beiden Überladungen bieten die flexibelste Möglichkeit zum Erstellen von Delegaten. Sie können sie verwenden, um Delegaten für statische oder instance Methoden zu erstellen und optional das erste Argument anzugeben.

Hinweis

Wenn Sie kein erstes Argument angeben, verwenden Sie die Methodenüberladung, um die CreateDelegate(Type, MethodInfo) Leistung zu verbessern.

Weitere Informationen zu dieser API finden Sie unter Zusätzliche API-Hinweise für System.Delegate.CreateDelegate.

Weitere Informationen

Gilt für:

CreateDelegate(Type, MethodInfo)

Erstellt einen Delegaten des angegebenen Typs, um die angegebene Methode darzustellen.

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

Parameter

type
Type

Der Type des zu erstellenden Delegaten.

method
MethodInfo

Die MethodInfo, die die statische Methode oder Instanzmethode beschreibt, die der Delegat darstellen soll.

Gibt zurück

Ein Delegat des angegebenen Typs, der die angegebene Methode darstellt.

Ausnahmen

type ist null.

- oder -

method ist null.

type erbt nicht MulticastDelegate.

- oder -

type ist keine RuntimeType. Siehe Laufzeittypen in Reflektion.

- oder -

method kann nicht gebunden werden.

- oder -

method ist keine RuntimeMethodInfo. Siehe Laufzeittypen in Reflektion.

Die Invoke-Methode von type wurde nicht gefunden.

Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für den Zugriff auf method.

Hinweise

Diese Überladung kann Delegaten für statische Methoden erstellen und instance Methodendelegaten öffnen, d. h. Delegatten, die explizit das ausgeblendete erste Argument instance Methoden angeben. Eine ausführliche Erläuterung finden Sie in der allgemeineren CreateDelegate(Type, Object, MethodInfo) Methodenüberladung, mit der Sie alle Kombinationen von offenen oder geschlossenen Delegaten für instance oder statische Methoden erstellen und optional ein erstes Argument angeben können.

Hinweis

Diese Methodenüberladung sollte verwendet werden, wenn der Delegat nicht über das erste Argument geschlossen wird, da es in diesem Fall etwas schneller ist.

Weitere Informationen zu dieser API finden Sie unter Zusätzliche API-Hinweise für System.Delegate.CreateDelegate.

Weitere Informationen

Gilt für:

CreateDelegate(Type, Type, String)

Erstellt einen Delegaten vom angegebenen Typ, der die angegebene statische Methode der angegebenen Klasse darstellt.

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

Parameter

type
Type

Der Type des zu erstellenden Delegaten.

target
Type

Der Type, der die Klasse darstellt, die von method implementiert wird.

method
String

Der Name der statischen Methode, die durch den Delegaten dargestellt werden soll.

Gibt zurück

Ein Delegat vom angegebenen Typ, der die angegebene statische Methode der angegebenen Klasse darstellt.

Ausnahmen

type ist null.

- oder -

target ist null.

- oder -

method ist null.

type erbt nicht MulticastDelegate.

- oder -

type ist keine RuntimeType. Siehe Laufzeittypen in Reflektion.

- oder -

target ist keine RuntimeType.

- oder -

target ist ein offener generischer Typ. Das bedeutet, die ContainsGenericParameters-Eigenschaft ist true.

- oder -

method ist keine static-Methode (Shared-Methode in Visual Basic).

- oder -

method kann nicht gebunden werden, z. B. weil sie nicht gefunden wurde, und throwOnBindFailure ist gleich true.

Die Invoke-Methode von type wurde nicht gefunden.

Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für den Zugriff auf method.

Hinweise

Diese Methode erstellt Delegaten nur für statische Methoden. Eine instance-Methode ist eine Methode, die einem instance einer Klasse zugeordnet ist. Eine statische Methode ist eine Methode, die der Klasse selbst zugeordnet ist.

Diese Methodenüberladung entspricht dem Aufrufen der CreateDelegate(Type, Type, String, Boolean, Boolean) Methodenüberladung, wobei für ignoreCase und true für throwOnBindFailureangegeben false wird.

Weitere Informationen

Gilt für: