Delegate.CreateDelegate Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- 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 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
- 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 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
- 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 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
- 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 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
- 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 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
- 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 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
- 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 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
- 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 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
- 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 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
- 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 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.