Freigeben über


Delegate.CreateDelegate Methode

Definition

Erstellt einen Delegaten des angegebenen Typs.

Überlädt

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

Erstellt einen Delegaten des angegebenen Typs, der die angegebene Instanzmethode darstellt, die für die angegebene Klasseninstanz aufgerufen werden soll, wobei die angegebene Groß-/Kleinschreibung und das angegebene Verhalten beim Binden nicht vorhanden sind.

CreateDelegate(Type, Type, String, Boolean)

Erstellt einen Delegaten des angegebenen Typs, der die angegebene statische Methode der angegebenen Klasse mit der angegebenen Groß-/Kleinschreibung darstellt.

CreateDelegate(Type, Object, String, Boolean)

Erstellt einen Delegaten des angegebenen Typs, der die angegebene Instanzmethode darstellt, die für die angegebene Klasseninstanz mit der angegebenen Groß-/Kleinschreibung aufgerufen werden soll.

CreateDelegate(Type, Object, MethodInfo, Boolean)

Erstellt einen Delegaten des angegebenen Typs, der die angegebene statische oder Instanzmethode darstellt, mit dem angegebenen ersten Argument und dem angegebenen Verhalten beim Fehler beim Binden.

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

Erstellt einen Delegat des angegebenen Typs, der die angegebene statische Methode der angegebenen Klasse darstellt, mit der angegebenen Groß-/Kleinschreibung und dem angegebenen Verhalten beim Fehler beim Binden.

CreateDelegate(Type, MethodInfo, Boolean)

Erstellt einen Delegaten des angegebenen Typs, der die angegebene statische Methode darstellt, wobei das angegebene Verhalten beim Binden nicht auftritt.

CreateDelegate(Type, Object, String)

Erstellt einen Delegaten des angegebenen Typs, der die angegebene Instanzmethode darstellt, die für die angegebene Klasseninstanz aufgerufen werden soll.

CreateDelegate(Type, Object, MethodInfo)

Erstellt einen Delegaten des angegebenen Typs, der die angegebene statische 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 des angegebenen Typs, der die angegebene statische Methode der angegebenen Klasse darstellt.

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

Quelle:
Delegate.CoreCLR.cs
Quelle:
Delegate.CoreCLR.cs
Quelle:
Delegate.CoreCLR.cs

Erstellt einen Delegaten des angegebenen Typs, der die angegebene Instanzmethode darstellt, die für die angegebene Klasseninstanz aufgerufen werden soll, wobei die angegebene Groß-/Kleinschreibung und das angegebene Verhalten beim Binden nicht vorhanden sind.

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

Die Type der zu erstellenden Stellvertretung.

target
Object

Die Klasseninstanz, für die method aufgerufen wird.

method
String

Der Name der Instanzmethode, die der Delegate darstellen soll.

ignoreCase
Boolean

Ein boolescher Wert, der angibt, ob die Groß-/Kleinschreibung beim Vergleichen des Namens der Methode ignoriert werden soll.

throwOnBindFailure
Boolean

true eine Ausnahme auslösen, wenn method nicht gebunden werden können; andernfalls false.

Gibt zurück

Ein Delegat des angegebenen Typs, der die angegebene Instanzmethode darstellt, die für die angegebene Klasseninstanz aufgerufen werden soll.

Ausnahmen

type ist null.

-oder-

target ist null.

-oder-

method ist null.

type erbt MulticastDelegatenicht.

-oder-

type ist keine RuntimeType. Siehe Laufzeittypen in Reflection.

-oder-

method ist keine Instanzmethode.

-oder-

method können nicht gebunden werden, z. B. weil sie nicht gefunden werden kann und throwOnBindFailuretrueist.

Die Invoke Methode von type wurde nicht gefunden.

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

Hinweise

Mit dieser Methode werden nur Stellvertretungen für Instanzmethoden erstellt. Eine Instanzmethode ist eine Methode, die einer Instanz 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)

Quelle:
Delegate.cs
Quelle:
Delegate.cs
Quelle:
Delegate.cs

Erstellt einen Delegaten des angegebenen Typs, der die angegebene statische Methode der angegebenen Klasse mit der angegebenen Groß-/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

Die Type der zu erstellenden Stellvertretung.

target
Type

Die Type, die die Klasse darstellt, die methodimplementiert.

method
String

Der Name der statischen Methode, die der Delegate darstellen soll.

ignoreCase
Boolean

Ein boolescher Wert, der angibt, ob die Groß-/Kleinschreibung beim Vergleichen des Namens der Methode ignoriert werden soll.

Gibt zurück

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

Ausnahmen

type ist null.

-oder-

target ist null.

-oder-

method ist null.

type erbt MulticastDelegatenicht.

-oder-

type ist keine RuntimeType. Siehe Laufzeittypen in Reflection.

-oder-

target ist keine RuntimeType.

-oder-

target ist ein offener generischer Typ. Das heißt, seine 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 werden kann.

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 Stellvertretungen nur für statische Methoden. Eine Instanzmethode ist eine Methode, die einer Instanz 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 true für throwOnBindFailureangegeben wird.

Weitere Informationen

Gilt für:

CreateDelegate(Type, Object, String, Boolean)

Quelle:
Delegate.cs
Quelle:
Delegate.cs
Quelle:
Delegate.cs

Erstellt einen Delegaten des angegebenen Typs, der die angegebene Instanzmethode darstellt, die für die angegebene Klasseninstanz mit der angegebenen Groß-/Kleinschreibung aufgerufen werden soll.

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

Die Type der zu erstellenden Stellvertretung.

target
Object

Die Klasseninstanz, für die method aufgerufen wird.

method
String

Der Name der Instanzmethode, die der Delegate darstellen soll.

ignoreCase
Boolean

Ein boolescher Wert, der angibt, ob die Groß-/Kleinschreibung beim Vergleichen des Namens der Methode ignoriert werden soll.

Gibt zurück

Ein Delegat des angegebenen Typs, der die angegebene Instanzmethode darstellt, die für die angegebene Klasseninstanz aufgerufen werden soll.

Ausnahmen

type ist null.

-oder-

target ist null.

-oder-

method ist null.

type erbt MulticastDelegatenicht.

-oder-

type ist keine RuntimeType. Siehe Laufzeittypen in Reflection.

-oder-

method ist keine Instanzmethode.

-oder-

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

Die Invoke Methode von type wurde nicht gefunden.

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

Hinweise

Mit dieser Methode werden nur Stellvertretungen für Instanzmethoden erstellt. Eine Instanzmethode ist eine Methode, die einer Instanz 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 true für throwOnBindFailureangegeben wird.

Weitere Informationen

Gilt für:

CreateDelegate(Type, Object, MethodInfo, Boolean)

Quelle:
Delegate.CoreCLR.cs
Quelle:
Delegate.CoreCLR.cs
Quelle:
Delegate.CoreCLR.cs

Erstellt einen Delegaten des angegebenen Typs, der die angegebene statische oder Instanzmethode darstellt, mit dem angegebenen ersten Argument und dem angegebenen Verhalten beim Fehler beim Binden.

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

Eine Type, die den typ der zu erstellenden Stellvertretung darstellt.

firstArgument
Object

Ein Object, das das erste Argument der Methode darstellt, die der Delegat darstellt. Es muss z. B. mit dem Instanztyp kompatibel sein.

method
MethodInfo

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

throwOnBindFailure
Boolean

true eine Ausnahme auslösen, wenn method nicht gebunden werden können; andernfalls false.

Gibt zurück

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

Ausnahmen

type ist null.

-oder-

method ist null.

type erbt MulticastDelegatenicht.

-oder-

type ist keine RuntimeType. Siehe Laufzeittypen in Reflection.

-oder-

method können nicht gebunden werden, und throwOnBindFailure ist true.

-oder-

method ist keine RuntimeMethodInfo. Siehe Laufzeittypen in Reflection.

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 beim Binden ausgelöst wird, bieten die flexibelste Möglichkeit zum Erstellen von Stellvertretungen. Sie können sie verwenden, um Stellvertretungen für statische oder Instanzmethoden mit oder ohne erstes Argument zu erstellen.

Anmerkung

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

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)

Quelle:
Delegate.CoreCLR.cs
Quelle:
Delegate.CoreCLR.cs
Quelle:
Delegate.CoreCLR.cs

Erstellt einen Delegat des angegebenen Typs, der die angegebene statische Methode der angegebenen Klasse darstellt, mit der angegebenen Groß-/Kleinschreibung und dem angegebenen Verhalten beim Fehler beim Binden.

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

Die Type der zu erstellenden Stellvertretung.

target
Type

Die Type, die die Klasse darstellt, die methodimplementiert.

method
String

Der Name der statischen Methode, die der Delegate darstellen soll.

ignoreCase
Boolean

Ein boolescher Wert, der angibt, ob die Groß-/Kleinschreibung beim Vergleichen des Namens der Methode ignoriert werden soll.

throwOnBindFailure
Boolean

true eine Ausnahme auslösen, wenn method nicht gebunden werden können; andernfalls false.

Gibt zurück

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

Ausnahmen

type ist null.

-oder-

target ist null.

-oder-

method ist null.

type erbt MulticastDelegatenicht.

-oder-

type ist keine RuntimeType. Siehe Laufzeittypen in Reflection.

-oder-

target ist keine RuntimeType.

-oder-

target ist ein offener generischer Typ. Das heißt, seine ContainsGenericParameters-Eigenschaft ist true.

-oder-

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

-oder-

method können nicht gebunden werden, z. B. weil sie nicht gefunden werden kann und throwOnBindFailuretrueist.

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 Stellvertretungen nur für statische Methoden. Eine Instanzmethode ist eine Methode, die einer Instanz 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)

Quelle:
Delegate.CoreCLR.cs
Quelle:
Delegate.CoreCLR.cs
Quelle:
Delegate.CoreCLR.cs

Erstellt einen Delegaten des angegebenen Typs, der die angegebene statische Methode darstellt, wobei das angegebene Verhalten beim Binden nicht auftritt.

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

Die Type der zu erstellenden Stellvertretung.

method
MethodInfo

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

throwOnBindFailure
Boolean

true eine Ausnahme auslösen, wenn method nicht gebunden werden können; andernfalls false.

Gibt zurück

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

Ausnahmen

type ist null.

-oder-

method ist null.

type erbt MulticastDelegatenicht.

-oder-

type ist keine RuntimeType. Siehe Laufzeittypen in Reflection.

-oder-

method können nicht gebunden werden, und throwOnBindFailure ist true.

-oder-

method ist keine RuntimeMethodInfo. Siehe Laufzeittypen in Reflection.

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 offene statische Methodendelegatten und offene Instanzenmethodendelegaten erstellen, d. h. Stellvertretungen, die das ausgeblendete erste Argument von Instanzmethoden 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 Instanzen oder statische Methoden erstellen können.

Anmerkung

Diese Methodenüberladung sollte verwendet werden, wenn der Delegat nicht über das erste 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)

Quelle:
Delegate.cs
Quelle:
Delegate.cs
Quelle:
Delegate.cs

Erstellt einen Delegaten des angegebenen Typs, der die angegebene Instanzmethode 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

Die Type der zu erstellenden Stellvertretung.

target
Object

Die Klasseninstanz, für die method aufgerufen wird.

method
String

Der Name der Instanzmethode, die der Delegate darstellen soll.

Gibt zurück

Ein Delegat des angegebenen Typs, der die angegebene Instanzmethode darstellt, die für die angegebene Klasseninstanz aufgerufen werden soll.

Ausnahmen

type ist null.

-oder-

target ist null.

-oder-

method ist null.

type erbt MulticastDelegatenicht.

-oder-

type ist keine RuntimeType. Siehe Laufzeittypen in Reflection.

-oder-

method ist keine Instanzmethode.

-oder-

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

Die Invoke Methode von type wurde nicht gefunden.

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

Hinweise

Mit dieser Methode werden nur Stellvertretungen für Instanzmethoden erstellt. Eine Instanzmethode ist eine Methode, die einer Instanz 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 false für ignoreCase und true für throwOnBindFailureangegeben wird.

Weitere Informationen

Gilt für:

CreateDelegate(Type, Object, MethodInfo)

Quelle:
Delegate.cs
Quelle:
Delegate.cs
Quelle:
Delegate.cs

Erstellt einen Delegaten des angegebenen Typs, der die angegebene statische 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

Die Type der zu erstellenden Stellvertretung.

firstArgument
Object

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

method
MethodInfo

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

Gibt zurück

Ein Delegat des angegebenen Typs, der die angegebene statische oder Instanzmethode darstellt.

Ausnahmen

type ist null.

-oder-

method ist null.

type erbt MulticastDelegatenicht.

-oder-

type ist keine RuntimeType. Siehe Laufzeittypen in Reflection.

-oder-

method kann nicht gebunden werden.

-oder-

method ist keine RuntimeMethodInfo. Siehe Laufzeittypen in Reflection.

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 von true für throwOnBindFailure. Diese beiden Überladungen bieten die flexibelste Möglichkeit zum Erstellen von Stellvertretungen. Sie können sie verwenden, um Stellvertretungen für statische oder Instanzmethoden zu erstellen und optional das erste Argument anzugeben.

Anmerkung

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

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

Weitere Informationen

Gilt für:

CreateDelegate(Type, MethodInfo)

Quelle:
Delegate.cs
Quelle:
Delegate.cs
Quelle:
Delegate.cs

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

Die Type der zu erstellenden Stellvertretung.

method
MethodInfo

Die MethodInfo, die die statische oder Instanzmethode beschreibt, die der Delegate 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 MulticastDelegatenicht.

-oder-

type ist keine RuntimeType. Siehe Laufzeittypen in Reflection.

-oder-

method kann nicht gebunden werden.

-oder-

method ist keine RuntimeMethodInfo. Siehe Laufzeittypen in Reflection.

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 Stellvertretungen für statische Methoden und offene Instanzenmethodendelegaten erstellen. d. h. Stellvertretungen, die explizit das ausgeblendete erste Argument von Instanzmethoden bereitstellen. 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 Stellvertretungen z. B. oder statischen Methoden erstellen und optional ein erstes Argument angeben können.

Anmerkung

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 Ergänzende API-Hinweise für System.Delegate.CreateDelegate.

Weitere Informationen

Gilt für:

CreateDelegate(Type, Type, String)

Quelle:
Delegate.cs
Quelle:
Delegate.cs
Quelle:
Delegate.cs

Erstellt einen Delegaten des angegebenen Typs, 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

Die Type der zu erstellenden Stellvertretung.

target
Type

Die Type, die die Klasse darstellt, die methodimplementiert.

method
String

Der Name der statischen Methode, die der Delegate darstellen soll.

Gibt zurück

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

Ausnahmen

type ist null.

-oder-

target ist null.

-oder-

method ist null.

type erbt MulticastDelegatenicht.

-oder-

type ist keine RuntimeType. Siehe Laufzeittypen in Reflection.

-oder-

target ist keine RuntimeType.

-oder-

target ist ein offener generischer Typ. Das heißt, seine ContainsGenericParameters-Eigenschaft ist true.

-oder-

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

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 Stellvertretungen nur für statische Methoden. Eine Instanzmethode ist eine Methode, die einer Instanz 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 false für ignoreCase und true für throwOnBindFailureangegeben wird.

Weitere Informationen

Gilt für: