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^, Object^, String^, Boolean, Boolean)

 

Veröffentlicht: Oktober 2016

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.

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

public:
static Delegate^ CreateDelegate(
	Type^ type,
	Object^ target,
	String^ method,
	bool ignoreCase,
	bool throwOnBindFailure
)

Parameter

type
Type: System::Type^

Der Type des zu erstellenden Delegaten.

target
Type: System::Object^

Die Klasseninstanz, für die method aufgerufen wird.

method
Type: System::String^

Der Name der Instanzenmethode, 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 Instanzenmethode darstellt, die für die angegebene Klasseninstanz aufgerufen werden soll.

Exception Condition
ArgumentNullException

type ist null.

- oder -

target ist null.

- oder -

method ist null.

ArgumentException

type erbt nicht MulticastDelegate.

- oder -

type ist keine RuntimeType. Finden Sie unter 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.

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.

Diese Methode erstellt nur Delegaten für die Instanz. Eine Instanzmethode ist eine Methode, die eine Instanz einer Klasse zugeordnet ist. eine statische Methode ist eine Methode, die die Klasse selbst zugeordnet ist.

System_CAPS_noteHinweis

Beginnend mit der .NET Framework 2.0 Service Pack 1, diese Methode kann verwendet werden, auf nicht öffentliche Methoden zuzugreifen, wenn der Aufrufer erteilt wurde ReflectionPermission mit dem ReflectionPermissionFlag::RestrictedMemberAccess kennzeichnen und erteilen Sie der Berechtigungssatz für die nicht öffentlichen Methoden an des Aufrufers beschränkt ist Set- oder eine Teilmenge davon. (Siehe Sicherheitsüberlegungen für die Reflektion.)

Zur Verwendung dieser Funktionen sollte die Anwendung für .NET Framework 3.5 oder höher ausgelegt sein.

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: