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 Invoke
type
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 Invoke
type
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 Invoke
type
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 throwOnBindFailure
false
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 Invoke
type
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 Invoke
type
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 Invoke
type
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 Invoke
type
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 Invoke
type
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 Invoke
type
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 Invoke
type
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
.