Sdílet prostřednictvím


Delegate.CreateDelegate Metoda

Definice

Vytvoří delegáta zadaného typu.

Přetížení

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

Vytvoří delegát zadaného typu, který představuje zadanou metodu instance k vyvolání na zadané instanci třídy, se zadanou citlivostí a zadaným chováním při selhání vazby.

CreateDelegate(Type, Type, String, Boolean)

Vytvoří delegát zadaného typu, který představuje zadanou statickou metodu zadané třídy se zadanou citlivostí na velká a malá písmena.

CreateDelegate(Type, Object, String, Boolean)

Vytvoří delegát zadaného typu, který představuje zadanou metodu instance, která se vyvolá na zadanou instanci třídy se zadanou citlivostí na velká a malá písmena.

CreateDelegate(Type, Object, MethodInfo, Boolean)

Vytvoří delegát zadaného typu, který představuje zadanou statickou metodu nebo metodu instance, se zadaným prvním argumentem a zadaným chováním při selhání vytvoření vazby.

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

Vytvoří delegát zadaného typu, který představuje zadanou statickou metodu zadané třídy, se zadanou citlivostí písmen a zadaným chováním při selhání vazby.

CreateDelegate(Type, MethodInfo, Boolean)

Vytvoří delegáta zadaného typu, který představuje zadanou statickou metodu se zadaným chováním při selhání vytvoření vazby.

CreateDelegate(Type, Object, String)

Vytvoří delegát zadaného typu, který představuje zadanou metodu instance, která se vyvolá na zadanou instanci třídy.

CreateDelegate(Type, Object, MethodInfo)

Vytvoří delegát zadaného typu, který představuje zadanou statickou metodu nebo metodu instance se zadaným prvním argumentem.

CreateDelegate(Type, MethodInfo)

Vytvoří delegáta zadaného typu, který představuje zadanou metodu.

CreateDelegate(Type, Type, String)

Vytvoří delegát zadaného typu, který představuje zadanou statickou metodu zadané třídy.

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

Zdroj:
Delegate.CoreCLR.cs
Zdroj:
Delegate.CoreCLR.cs
Zdroj:
Delegate.CoreCLR.cs

Vytvoří delegát zadaného typu, který představuje zadanou metodu instance k vyvolání na zadané instanci třídy, se zadanou citlivostí a zadaným chováním při selhání vazby.

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

Parametry

type
Type

Type delegáta, který se má vytvořit.

target
Object

Instance třídy, na které je vyvolána method.

method
String

Název metody instance, kterou má delegát reprezentovat.

ignoreCase
Boolean

Logická hodnota označující, zda se má případ ignorovat při porovnávání názvu metody.

throwOnBindFailure
Boolean

true vyvolání výjimky, pokud method nelze svázat; jinak false.

Návraty

Delegát zadaného typu, který představuje zadanou metodu instance k vyvolání na zadanou instanci třídy.

Výjimky

type je null.

-nebo-

target je null.

-nebo-

method je null.

type nedědí MulticastDelegate.

-nebo-

type není RuntimeType. Viz typy modulu runtime vreflexe .

-nebo-

method není metoda instance.

-nebo-

method nelze vázat, například proto, že ho nelze najít a throwOnBindFailure je true.

Metoda Invoketype nebyla nalezena.

Volající nemá oprávnění potřebná pro přístup k method.

Poznámky

Tato metoda vytváří delegáty pouze pro metody instancí. Metoda instance je metoda, která je přidružena k instanci třídy; statická metoda je metoda přidružená k samotné třídě.

Viz také

Platí pro

CreateDelegate(Type, Type, String, Boolean)

Zdroj:
Delegate.cs
Zdroj:
Delegate.cs
Zdroj:
Delegate.cs

Vytvoří delegát zadaného typu, který představuje zadanou statickou metodu zadané třídy se zadanou citlivostí na velká a malá písmena.

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

Parametry

type
Type

Type delegáta, který se má vytvořit.

target
Type

Type představující třídu, která implementuje method.

method
String

Název statické metody, kterou má delegát reprezentovat.

ignoreCase
Boolean

Logická hodnota označující, zda se má případ ignorovat při porovnávání názvu metody.

Návraty

Delegát zadaného typu, který představuje zadanou statickou metodu zadané třídy.

Výjimky

type je null.

-nebo-

target je null.

-nebo-

method je null.

type nedědí MulticastDelegate.

-nebo-

type není RuntimeType. Viz typy modulu runtime vreflexe .

-nebo-

target není RuntimeType.

-nebo-

target je otevřený obecný typ. To znamená, že jeho ContainsGenericParameters vlastnost je true.

-nebo-

method není metoda static (metodaShared v jazyce Visual Basic).

-nebo-

method nelze svázat, například proto, že ho nelze najít.

Metoda Invoketype nebyla nalezena.

Volající nemá oprávnění potřebná pro přístup k method.

Poznámky

Tato metoda vytváří delegáty pouze pro statické metody. Metoda instance je metoda, která je přidružena k instanci třídy; statická metoda je metoda přidružená k samotné třídě.

Toto přetížení metody je ekvivalentní volání CreateDelegate(Type, Type, String, Boolean, Boolean) přetížení metody, určení true pro throwOnBindFailure.

Viz také

Platí pro

CreateDelegate(Type, Object, String, Boolean)

Zdroj:
Delegate.cs
Zdroj:
Delegate.cs
Zdroj:
Delegate.cs

Vytvoří delegát zadaného typu, který představuje zadanou metodu instance, která se vyvolá na zadanou instanci třídy se zadanou citlivostí na velká a malá písmena.

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

Parametry

type
Type

Type delegáta, který se má vytvořit.

target
Object

Instance třídy, na které je vyvolána method.

method
String

Název metody instance, kterou má delegát reprezentovat.

ignoreCase
Boolean

Logická hodnota označující, zda se má případ ignorovat při porovnávání názvu metody.

Návraty

Delegát zadaného typu, který představuje zadanou metodu instance k vyvolání na zadanou instanci třídy.

Výjimky

type je null.

-nebo-

target je null.

-nebo-

method je null.

type nedědí MulticastDelegate.

-nebo-

type není RuntimeType. Viz typy modulu runtime vreflexe .

-nebo-

method není metoda instance.

-nebo-

method nelze svázat, například proto, že ho nelze najít.

Metoda Invoketype nebyla nalezena.

Volající nemá oprávnění potřebná pro přístup k method.

Poznámky

Tato metoda vytváří delegáty pouze pro metody instancí. Metoda instance je metoda, která je přidružena k instanci třídy; statická metoda je metoda přidružená k samotné třídě.

Toto přetížení metody je ekvivalentní volání CreateDelegate(Type, Object, String, Boolean, Boolean) přetížení metody, určení true pro throwOnBindFailure.

Viz také

Platí pro

CreateDelegate(Type, Object, MethodInfo, Boolean)

Zdroj:
Delegate.CoreCLR.cs
Zdroj:
Delegate.CoreCLR.cs
Zdroj:
Delegate.CoreCLR.cs

Vytvoří delegát zadaného typu, který představuje zadanou statickou metodu nebo metodu instance, se zadaným prvním argumentem a zadaným chováním při selhání vytvoření vazby.

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

Parametry

type
Type

Type představující typ delegáta, který se má vytvořit.

firstArgument
Object

Object, který je prvním argumentem metody, kterou delegát představuje. Například metody musí být kompatibilní s typem instance.

method
MethodInfo

MethodInfo popisující statickou metodu nebo metodu instance, která delegát představuje.

throwOnBindFailure
Boolean

true vyvolání výjimky, pokud method nelze svázat; jinak false.

Návraty

Delegát zadaného typu, který představuje zadanou statickou metodu nebo metodu instance, nebo null, pokud je throwOnBindFailurefalse a delegát nemůže být vázán na method.

Výjimky

type je null.

-nebo-

method je null.

type nedědí MulticastDelegate.

-nebo-

type není RuntimeType. Viz typy modulu runtime vreflexe .

-nebo-

method nelze vázat a throwOnBindFailure je true.

-nebo-

method není RuntimeMethodInfo. Viz typy modulu runtime vreflexe .

Metoda Invoketype nebyla nalezena.

Volající nemá oprávnění potřebná pro přístup k method.

Poznámky

Toto přetížení metody a přetížení CreateDelegate(Type, Object, MethodInfo) metody, které vždy vyvolává selhání při vytvoření vazby, poskytují nejflexibilnější způsob vytváření delegátů. Můžete je použít k vytvoření delegátů pro statické metody nebo metody instance s prvním argumentem nebo bez nich.

Poznámka

Pokud nezadáte první argument, použijte k lepšímu výkonu přetížení metody CreateDelegate(Type, MethodInfo, Boolean).

Další informace a příklady naleznete v tématu doplňkové poznámky rozhraní API pro System.Delegate.CreateDelegate.

Viz také

Platí pro

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

Zdroj:
Delegate.CoreCLR.cs
Zdroj:
Delegate.CoreCLR.cs
Zdroj:
Delegate.CoreCLR.cs

Vytvoří delegát zadaného typu, který představuje zadanou statickou metodu zadané třídy, se zadanou citlivostí písmen a zadaným chováním při selhání vazby.

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

Parametry

type
Type

Type delegáta, který se má vytvořit.

target
Type

Type představující třídu, která implementuje method.

method
String

Název statické metody, kterou má delegát reprezentovat.

ignoreCase
Boolean

Logická hodnota označující, zda se má případ ignorovat při porovnávání názvu metody.

throwOnBindFailure
Boolean

true vyvolání výjimky, pokud method nelze svázat; jinak false.

Návraty

Delegát zadaného typu, který představuje zadanou statickou metodu zadané třídy.

Výjimky

type je null.

-nebo-

target je null.

-nebo-

method je null.

type nedědí MulticastDelegate.

-nebo-

type není RuntimeType. Viz typy modulu runtime vreflexe .

-nebo-

target není RuntimeType.

-nebo-

target je otevřený obecný typ. To znamená, že jeho ContainsGenericParameters vlastnost je true.

-nebo-

method není metoda static (metodaShared v jazyce Visual Basic).

-nebo-

method nelze vázat, například proto, že ho nelze najít a throwOnBindFailure je true.

Metoda Invoketype nebyla nalezena.

Volající nemá oprávnění potřebná pro přístup k method.

Poznámky

Tato metoda vytváří delegáty pouze pro statické metody. Metoda instance je metoda, která je přidružena k instanci třídy; statická metoda je metoda přidružená k samotné třídě.

Viz také

Platí pro

CreateDelegate(Type, MethodInfo, Boolean)

Zdroj:
Delegate.CoreCLR.cs
Zdroj:
Delegate.CoreCLR.cs
Zdroj:
Delegate.CoreCLR.cs

Vytvoří delegáta zadaného typu, který představuje zadanou statickou metodu se zadaným chováním při selhání vytvoření vazby.

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

Parametry

type
Type

Type delegáta, který se má vytvořit.

method
MethodInfo

MethodInfo popisující statickou metodu nebo metodu instance, která delegát představuje.

throwOnBindFailure
Boolean

true vyvolání výjimky, pokud method nelze svázat; jinak false.

Návraty

Delegát zadaného typu, který představuje zadanou statickou metodu.

Výjimky

type je null.

-nebo-

method je null.

type nedědí MulticastDelegate.

-nebo-

type není RuntimeType. Viz typy modulu runtime vreflexe .

-nebo-

method nelze vázat a throwOnBindFailure je true.

-nebo-

method není RuntimeMethodInfo. Viz typy modulu runtime vreflexe .

Metoda Invoketype nebyla nalezena.

Volající nemá oprávnění potřebná pro přístup k method.

Poznámky

Toto přetížení metody může vytvořit otevřené statické metody delegáty a otevřené instance metody delegáty - to znamená delegáty, kteří zpřístupňují skrytý první argument metod instance. Podrobné vysvětlení najdete v obecnější CreateDelegate(Type, Object, MethodInfo, Boolean) přetížení metody, což umožňuje vytvořit všechny kombinace otevřených nebo uzavřených delegátů pro instance nebo statické metody.

Poznámka

Toto přetížení metody by mělo být použito, když delegát není uzavřen nad jeho prvním argumentem, protože je poněkud rychlejší v tomto případě.

Příklady najdete v poznámky k doplňkovému rozhraní API pro System.Delegate.CreateDelegate.

Viz také

Platí pro

CreateDelegate(Type, Object, String)

Zdroj:
Delegate.cs
Zdroj:
Delegate.cs
Zdroj:
Delegate.cs

Vytvoří delegát zadaného typu, který představuje zadanou metodu instance, která se vyvolá na zadanou instanci třídy.

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

Parametry

type
Type

Type delegáta, který se má vytvořit.

target
Object

Instance třídy, na které je vyvolána method.

method
String

Název metody instance, kterou má delegát reprezentovat.

Návraty

Delegát zadaného typu, který představuje zadanou metodu instance k vyvolání na zadanou instanci třídy.

Výjimky

type je null.

-nebo-

target je null.

-nebo-

method je null.

type nedědí MulticastDelegate.

-nebo-

type není RuntimeType. Viz typy modulu runtime vreflexe .

-nebo-

method není metoda instance.

-nebo-

method nelze svázat, například proto, že ho nelze najít.

Metoda Invoketype nebyla nalezena.

Volající nemá oprávnění potřebná pro přístup k method.

Poznámky

Tato metoda vytváří delegáty pouze pro metody instancí. Metoda instance je metoda, která je přidružena k instanci třídy; statická metoda je metoda přidružená k samotné třídě.

Toto přetížení metody je ekvivalentní volání přetížení metody CreateDelegate(Type, Object, String, Boolean, Boolean), určení false pro ignoreCase a true pro throwOnBindFailure.

Viz také

Platí pro

CreateDelegate(Type, Object, MethodInfo)

Zdroj:
Delegate.cs
Zdroj:
Delegate.cs
Zdroj:
Delegate.cs

Vytvoří delegát zadaného typu, který představuje zadanou statickou metodu nebo metodu instance se zadaným prvním argumentem.

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

Parametry

type
Type

Type delegáta, který se má vytvořit.

firstArgument
Object

Objekt, ke kterému je delegát vázán, nebo null považovat method za static (Shared v jazyce Visual Basic).

method
MethodInfo

MethodInfo popisující statickou metodu nebo metodu instance, která delegát představuje.

Návraty

Delegát zadaného typu, který představuje zadanou statickou metodu nebo metodu instance.

Výjimky

type je null.

-nebo-

method je null.

type nedědí MulticastDelegate.

-nebo-

type není RuntimeType. Viz typy modulu runtime vreflexe .

-nebo-

method nelze svázat.

-nebo-

method není RuntimeMethodInfo. Viz typy modulu runtime vreflexe .

Metoda Invoketype nebyla nalezena.

Volající nemá oprávnění potřebná pro přístup k method.

Poznámky

Volání tohoto přetížení metody je ekvivalentní volání CreateDelegate(Type, Object, MethodInfo, Boolean) přetížení metody a určení true pro throwOnBindFailure. Tato dvě přetížení poskytují nejflexibilnější způsob vytváření delegátů. Můžete je použít k vytvoření delegátů pro statické metody nebo metody instance a volitelně zadat první argument.

Poznámka

Pokud nezadáte první argument, použijte k lepšímu výkonu přetížení metody CreateDelegate(Type, MethodInfo).

Další informace o tomto rozhraní API naleznete v tématu doplňkové poznámky k rozhraní API pro System.Delegate.CreateDelegate.

Viz také

Platí pro

CreateDelegate(Type, MethodInfo)

Zdroj:
Delegate.cs
Zdroj:
Delegate.cs
Zdroj:
Delegate.cs

Vytvoří delegáta zadaného typu, který představuje zadanou metodu.

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

Parametry

type
Type

Type delegáta, který se má vytvořit.

method
MethodInfo

MethodInfo popisující statickou metodu nebo metodu instance, která delegát představuje.

Návraty

Delegát zadaného typu, který představuje zadanou metodu.

Výjimky

type je null.

-nebo-

method je null.

type nedědí MulticastDelegate.

-nebo-

type není RuntimeType. Viz typy modulu runtime vreflexe .

-nebo-

method nelze svázat.

-nebo-

method není RuntimeMethodInfo. Viz typy modulu runtime vreflexe .

Metoda Invoketype nebyla nalezena.

Volající nemá oprávnění potřebná pro přístup k method.

Poznámky

Toto přetížení může vytvářet delegáty pro statické metody a otevřené delegáty metody instance; delegáti, kteří explicitně poskytují skrytý první argument metod instance. Podrobné vysvětlení najdete v obecnějším CreateDelegate(Type, Object, MethodInfo) přetížení metody, které umožňuje vytvořit všechny kombinace otevřených nebo uzavřených delegátů pro instance nebo statické metody a volitelně zadat první argument.

Poznámka

Toto přetížení metody by mělo být použito, když delegát není uzavřen nad jeho prvním argumentem, protože je poněkud rychlejší v tomto případě.

Další informace o tomto rozhraní API naleznete v tématu doplňkové poznámky k rozhraní API pro System.Delegate.CreateDelegate.

Viz také

Platí pro

CreateDelegate(Type, Type, String)

Zdroj:
Delegate.cs
Zdroj:
Delegate.cs
Zdroj:
Delegate.cs

Vytvoří delegát zadaného typu, který představuje zadanou statickou metodu zadané třídy.

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

Parametry

type
Type

Type delegáta, který se má vytvořit.

target
Type

Type představující třídu, která implementuje method.

method
String

Název statické metody, kterou má delegát reprezentovat.

Návraty

Delegát zadaného typu, který představuje zadanou statickou metodu zadané třídy.

Výjimky

type je null.

-nebo-

target je null.

-nebo-

method je null.

type nedědí MulticastDelegate.

-nebo-

type není RuntimeType. Viz typy modulu runtime vreflexe .

-nebo-

target není RuntimeType.

-nebo-

target je otevřený obecný typ. To znamená, že jeho ContainsGenericParameters vlastnost je true.

-nebo-

method není metoda static (metodaShared v jazyce Visual Basic).

Metoda Invoketype nebyla nalezena.

Volající nemá oprávnění potřebná pro přístup k method.

Poznámky

Tato metoda vytváří delegáty pouze pro statické metody. Metoda instance je metoda, která je přidružena k instanci třídy; statická metoda je metoda přidružená k samotné třídě.

Toto přetížení metody je ekvivalentní volání přetížení metody CreateDelegate(Type, Type, String, Boolean, Boolean), určení false pro ignoreCase a true pro throwOnBindFailure.

Viz také

Platí pro