Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Delegate.CreateDelegate-Methode: (Type, Type, String, Boolean, Boolean)

 

Veröffentlicht: Oktober 2016

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.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public static Delegate CreateDelegate(
	Type type,
	Type target,
	string method,
	bool ignoreCase,
	bool throwOnBindFailure
)

Parameter

type
Type: System.Type

Der Type des zu erstellenden Delegaten.

target
Type: System.Type

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

method
Type: System.String

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

ignoreCase
Type: System.Boolean

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

throwOnBindFailure
Type: System.Boolean

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

Rückgabewert

Type: System.Delegate

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

Exception Condition
ArgumentNullException

type ist null.

- oder -

target ist null.

- oder -

method ist null.

ArgumentException

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.

MissingMethodException

Die Invoke-Methode von type wurde nicht gefunden.

MethodAccessException

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

This method creates delegates for static methods only. An instance method is a method that is associated with an instance of a class; a static method is a method that is associated with the class itself.

System_CAPS_noteHinweis

Starting with the net_v20sp1_long, this method can be used to access non-public methods if the caller has been granted T:System.Security.Permissions.ReflectionPermission with the F:System.Security.Permissions.ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the non-public methods is restricted to the caller’s grant set, or a subset thereof. (See Security Considerations for Reflection.)

To use this functionality, your application should target the net_v35_long or later.

ReflectionPermission

for accessing a non-public method when the grant set of the non-public method is restricted to the caller's grant set, or a subset thereof. Associated enumeration: F:System.Security.Permissions.ReflectionPermissionFlag.RestrictedMemberAccess

ReflectionPermission

for accessing a non-public method regardless of its grant set. Associated enumeration: F:System.Security.Permissions.ReflectionPermissionFlag.MemberAccess

ReflectionPermission

when invoked late-bound through mechanisms such as M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]). Associated enumeration: F:System.Security.Permissions.ReflectionPermissionFlag.MemberAccess.

.NET Framework
Verfügbar seit 2.0
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Zurück zum Anfang
Anzeigen: