Freigeben über


Delegate.CreateDelegate Methode

Definition

Erstellt einen Delegaten des angegebenen Typs.

Überlädt

Name Beschreibung
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
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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")]
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);
public static Delegate? CreateDelegate(Type type, object target, string method, bool ignoreCase, bool throwOnBindFailure);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")>]
static member CreateDelegate : Type * obj * string * bool * bool -> Delegate
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 zu erstellende Delegat Type .

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 um eine Ausnahme auszuwerfen, wenn method sie nicht gebunden werden kann; falseandernfalls .

Gibt zurück

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

Attribute

Ausnahmen

type ist null.

-oder-

target ist null.

-oder-

method ist null.

type erbt nicht MulticastDelegate.

-oder-

type ist kein RuntimeType.

-oder-

method ist keine Instanzmethode.

-oder-

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

Die Invoke Methode von type wurde nicht gefunden.

Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für den Zugriff 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
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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")]
public static Delegate CreateDelegate(Type type, Type target, string method, bool ignoreCase);
static member CreateDelegate : Type * Type * string * bool -> Delegate
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")>]
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 zu erstellende Delegat Type .

target
Type

Die Type darstellung der Klasse, die implementiert methodwird.

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.

Attribute

Ausnahmen

type ist null.

-oder-

target ist null.

-oder-

method ist null.

type erbt nicht MulticastDelegate.

-oder-

type ist kein RuntimeType.

-oder-

target ist kein 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 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, die für truethrowOnBindFailure.

Weitere Informationen

Gilt für:

CreateDelegate(Type, Object, String, Boolean)

Quelle:
Delegate.cs
Quelle:
Delegate.cs
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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")]
public static Delegate CreateDelegate(Type type, object target, string method, bool ignoreCase);
public static Delegate CreateDelegate(Type type, object target, string method, bool ignoreCase);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")>]
static member CreateDelegate : Type * obj * string * bool -> Delegate
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 zu erstellende Delegat Type .

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.

Attribute

Ausnahmen

type ist null.

-oder-

target ist null.

-oder-

method ist null.

type erbt nicht MulticastDelegate.

-oder-

type ist kein RuntimeType.

-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 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, die für truethrowOnBindFailure.

Weitere Informationen

Gilt für:

CreateDelegate(Type, Object, MethodInfo, Boolean)

Quelle:
Delegate.CoreCLR.cs
Quelle:
Delegate.CoreCLR.cs
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

A Type representing the type of delegate to create.

firstArgument
Object

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

method
MethodInfo

Die MethodInfo Beschreibung der statischen oder Instanzmethode, die der Delegate darstellen soll.

throwOnBindFailure
Boolean

true um eine Ausnahme auszuwerfen, wenn method sie nicht gebunden werden kann; falseandernfalls .

Gibt zurück

Ein Delegat des angegebenen Typs, der die angegebene statische oder Instanzmethode darstellt, oder null wenn throwOnBindFailure dies der Fall ist false und der Delegat nicht gebunden methodwerden kann.

Ausnahmen

type ist null.

-oder-

method ist null.

type erbt nicht MulticastDelegate.

-oder-

type ist kein RuntimeType.

-oder-

method kann nicht gebunden werden und throwOnBindFailure ist true.

-oder-

method ist kein RuntimeMethodInfo.

Die Invoke Methode von type wurde nicht gefunden.

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

Hinweise

Diese Methodenüberladung und die CreateDelegate(Type, Object, MethodInfo) Methodenüberladung, die immer beim Binden ausgelöst wird, bieten die flexibelste Methode 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 Methodenüberladung, um eine CreateDelegate(Type, MethodInfo, Boolean) bessere Leistung zu erzielen.

Weitere Informationen und Beispiele finden Sie in den ergänzenden API-Hinweisen 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
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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")]
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
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")>]
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 zu erstellende Delegat Type .

target
Type

Die Type darstellung der Klasse, die implementiert methodwird.

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 um eine Ausnahme auszuwerfen, wenn method sie nicht gebunden werden kann; falseandernfalls .

Gibt zurück

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

Attribute

Ausnahmen

type ist null.

-oder-

target ist null.

-oder-

method ist null.

type erbt nicht MulticastDelegate.

-oder-

type ist kein RuntimeType.

-oder-

target ist kein 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 und throwOnBindFailure ist true.

Die Invoke Methode von type wurde nicht gefunden.

Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für den Zugriff 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
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

Der zu erstellende Delegat Type .

method
MethodInfo

Die MethodInfo Beschreibung der statischen oder Instanzmethode, die der Delegate darstellen soll.

throwOnBindFailure
Boolean

true um eine Ausnahme auszuwerfen, wenn method sie nicht gebunden werden kann; falseandernfalls .

Gibt zurück

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

Ausnahmen

type ist null.

-oder-

method ist null.

type erbt nicht MulticastDelegate.

-oder-

type ist kein RuntimeType.

-oder-

method kann nicht gebunden werden und throwOnBindFailure ist true.

-oder-

method ist kein RuntimeMethodInfo.

Die Invoke Methode von type wurde nicht gefunden.

Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für den Zugriff 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 in den ergänzenden API-Hinweisen für System.Delegate.CreateDelegate.

Weitere Informationen

Gilt für:

CreateDelegate(Type, Object, String)

Quelle:
Delegate.cs
Quelle:
Delegate.cs
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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")]
public static Delegate CreateDelegate(Type type, object target, string method);
public static Delegate CreateDelegate(Type type, object target, string method);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")>]
static member CreateDelegate : Type * obj * string -> Delegate
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 zu erstellende Delegat Type .

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.

Attribute

Ausnahmen

type ist null.

-oder-

target ist null.

-oder-

method ist null.

type erbt nicht MulticastDelegate.

-oder-

type ist kein RuntimeType.

-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 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, die für falseignoreCase und true für throwOnBindFailuredie .

Weitere Informationen

Gilt für:

CreateDelegate(Type, Object, MethodInfo)

Quelle:
Delegate.cs
Quelle:
Delegate.cs
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

Der zu erstellende Delegat Type .

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 Beschreibung der statischen oder Instanzmethode, 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 nicht MulticastDelegate.

-oder-

type ist kein RuntimeType.

-oder-

method kann nicht gebunden werden.

-oder-

method ist kein RuntimeMethodInfo.

Die Invoke Methode von type wurde nicht gefunden.

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

Hinweise

Das Aufrufen dieser Methodenüberladung entspricht dem Aufrufen der CreateDelegate(Type, Object, MethodInfo, Boolean) Methodenüberladung und der Angabe 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 Methodenüberladung, um eine CreateDelegate(Type, MethodInfo) bessere Leistung zu erzielen.

Weitere Informationen zu dieser API finden Sie in den ergänzenden API-Hinweisen für System.Delegate.CreateDelegate.

Weitere Informationen

Gilt für:

CreateDelegate(Type, MethodInfo)

Quelle:
Delegate.cs
Quelle:
Delegate.cs
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

Der zu erstellende Delegat Type .

method
MethodInfo

Die MethodInfo Beschreibung der statischen oder Instanzmethode, 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 nicht MulticastDelegate.

-oder-

type ist kein RuntimeType.

-oder-

method kann nicht gebunden werden.

-oder-

method ist kein RuntimeMethodInfo.

Die Invoke Methode von type wurde nicht gefunden.

Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für den Zugriff 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 in den ergänzenden API-Hinweisen für System.Delegate.CreateDelegate.

Weitere Informationen

Gilt für:

CreateDelegate(Type, Type, String)

Quelle:
Delegate.cs
Quelle:
Delegate.cs
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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")]
public static Delegate CreateDelegate(Type type, Type target, string method);
static member CreateDelegate : Type * Type * string -> Delegate
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")>]
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 zu erstellende Delegat Type .

target
Type

Die Type darstellung der Klasse, die implementiert methodwird.

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.

Attribute

Ausnahmen

type ist null.

-oder-

target ist null.

-oder-

method ist null.

type erbt nicht MulticastDelegate.

-oder-

type ist kein RuntimeType.

-oder-

target ist kein 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 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, die für falseignoreCase und true für throwOnBindFailuredie .

Weitere Informationen

Gilt für: