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í v zadané instanci třídy se zadanou rozlišováním malých a malých písmen a zadané chování 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 rozlišováním velkých a malých písmen. |
CreateDelegate(Type, Object, String, Boolean) |
Vytvoří delegáta zadaného typu, který představuje zadanou metodu instance k vyvolání v zadané instanci třídy se zadanou rozlišováním malých a malých písmen. |
CreateDelegate(Type, Object, MethodInfo, Boolean) |
Vytvoří delegáta 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í vazby. |
CreateDelegate(Type, Type, String, Boolean, Boolean) |
Vytvoří delegát zadaného typu, který představuje zadanou statickou metodu zadané třídy se zadanou rozlišováním malých a malých písmen a zadané chování při selhání vazby. |
CreateDelegate(Type, MethodInfo, Boolean) |
Vytvoří delegát zadaného typu představující zadanou statickou metodu se zadaným chováním při selhání vazby. |
CreateDelegate(Type, Object, String) |
Vytvoří delegáta zadaného typu, který představuje zadanou metodu instance k vyvolání na instanci zadané třídy. |
CreateDelegate(Type, Object, MethodInfo) |
Vytvoří delegáta 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ý bude představovat 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í v zadané instanci třídy se zadanou rozlišováním malých a malých písmen a zadané chování 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é method
je vyvolána.
- method
- String
Název metody instance, kterou má delegát reprezentovat.
- ignoreCase
- Boolean
Logická hodnota označující, zda se při porovnání názvu metody mají rozlišovat velká a malá písmena.
- throwOnBindFailure
- Boolean
true
pokud nelze svázat, vyvolá výjimku method
. V opačném případě false
.
Návraty
Delegát zadaného typu, který představuje zadanou metodu instance k vyvolání v zadané instanci třídy.
Výjimky
type
nedědí MulticastDelegate.
-nebo-
type
není .RuntimeType
Viz Typy modulu runtime v reflexi.
-nebo-
method
není metoda instance.
-nebo-
method
nelze svázat, například proto, že ho nelze najít, a throwOnBindFailure
je true
.
Metoda Invoke
nebyla nalezena type
.
Volající nemá oprávnění potřebná pro přístup method
k .
Poznámky
Tato metoda vytvoří delegáty pouze pro metody instance. Metoda instance je metoda, která je přidružena k instanci třídy; statická metoda je metoda, která je přidružena 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 rozlišováním velkých a malých písmen.
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 při porovnání názvu metody mají rozlišovat velká a malá písmena.
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 v reflexi.
-nebo-
target
není .RuntimeType
-nebo-
target
je otevřený obecný typ. To znamená, že jeho ContainsGenericParameters vlastnost je true
.
-nebo-
method
není static
metoda (Shared
metoda v jazyce Visual Basic).
-nebo-
method
nelze svázat, například proto, že ho nelze najít.
Metoda Invoke
nebyla nalezena type
.
Volající nemá oprávnění potřebná pro přístup method
k .
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, která je přidružena 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áta zadaného typu, který představuje zadanou metodu instance k vyvolání v zadané instanci třídy se zadanou rozlišováním malých a malých písmen.
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é method
je vyvolána.
- method
- String
Název metody instance, kterou má delegát reprezentovat.
- ignoreCase
- Boolean
Logická hodnota označující, zda se při porovnání názvu metody mají rozlišovat velká a malá písmena.
Návraty
Delegát zadaného typu, který představuje zadanou metodu instance k vyvolání v zadané instanci třídy.
Výjimky
type
nedědí MulticastDelegate.
-nebo-
type
není .RuntimeType
Viz Typy modulu runtime v reflexi.
-nebo-
method
není metoda instance.
-nebo-
method
nelze svázat, například proto, že ho nelze najít.
Metoda Invoke
nebyla nalezena type
.
Volající nemá oprávnění potřebná pro přístup method
k .
Poznámky
Tato metoda vytvoří delegáty pouze pro metody instance. Metoda instance je metoda, která je přidružena k instanci třídy; statická metoda je metoda, která je přidružena 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áta 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í 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
To Object je první argument metody, kterou delegát představuje. Například metody musí být kompatibilní s typem instance.
- method
- MethodInfo
Popis MethodInfo statické metody nebo metody instance, které má delegát reprezentovat.
- throwOnBindFailure
- Boolean
true
pokud nelze svázat, vyvolá výjimku method
. V opačném případě false
.
Návraty
Delegát zadaného typu, který představuje zadanou statickou metodu nebo metodu instance, nebo null
pokud throwOnBindFailure
je 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 v reflexi.
-nebo-
method
nelze svázat a throwOnBindFailure
je true
.
-nebo-
method
není .RuntimeMethodInfo
Viz Typy modulu runtime v reflexi.
Metoda Invoke
nebyla nalezena type
.
Volající nemá oprávnění potřebná pro přístup method
k .
Poznámky
Toto přetížení metody a CreateDelegate(Type, Object, MethodInfo) přetížení metody, které vždy vyvolá při selhání vazby, poskytují nejflexizně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 CreateDelegate(Type, MethodInfo, Boolean) přetížení metody pro lepší výkon.
Další informace a příklady najdete 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 rozlišováním malých a malých písmen a zadané chování 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 při porovnání názvu metody mají rozlišovat velká a malá písmena.
- throwOnBindFailure
- Boolean
true
pokud nelze svázat, vyvolá výjimku method
. V opačném případě 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 v reflexi.
-nebo-
target
není .RuntimeType
-nebo-
target
je otevřený obecný typ. To znamená, že jeho ContainsGenericParameters vlastnost je true
.
-nebo-
method
není static
metoda (Shared
metoda v jazyce Visual Basic).
-nebo-
method
nelze svázat, například proto, že ho nelze najít, a throwOnBindFailure
je true
.
Metoda Invoke
nebyla nalezena type
.
Volající nemá oprávnění potřebná pro přístup method
k .
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, která je přidružena 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át zadaného typu představující zadanou statickou metodu se zadaným chováním při selhání 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
Popis MethodInfo statické metody nebo metody instance, které má delegát reprezentovat.
- throwOnBindFailure
- Boolean
true
pokud nelze svázat, vyvolá výjimku method
. V opačném případě false
.
Návraty
Delegát zadaného typu představující zadanou statickou metodu.
Výjimky
type
nedědí MulticastDelegate.
-nebo-
type
není .RuntimeType
Viz Typy modulu runtime v reflexi.
-nebo-
method
nelze svázat a throwOnBindFailure
je true
.
-nebo-
method
není .RuntimeMethodInfo
Viz Typy modulu runtime v reflexi.
Metoda Invoke
nebyla nalezena type
.
Volající nemá oprávnění potřebná pro přístup method
k .
Poznámky
Toto přetížení metody může vytvořit otevřené delegáty statických metod a delegáty metody open instance – to znamená delegáty, kteří zveřejňují skrytý první argument metod instance. Podrobné vysvětlení najdete v obecnějším CreateDelegate(Type, Object, MethodInfo, Boolean) 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.
Poznámka
Toto přetížení metody by mělo být použito, když delegát není uzavřen přes jeho první argument, protože je v tomto případě o něco rychlejší.
Příklady najdete v tématu Doplňkové poznámky 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áta zadaného typu, který představuje zadanou metodu instance k vyvolání na instanci zadané 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é method
je vyvolána.
- 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í v zadané instanci třídy.
Výjimky
type
nedědí MulticastDelegate.
-nebo-
type
není .RuntimeType
Viz Typy modulu runtime v reflexi.
-nebo-
method
není metoda instance.
-nebo-
method
nelze svázat, například proto, že ho nelze najít.
Metoda Invoke
nebyla nalezena type
.
Volající nemá oprávnění potřebná pro přístup method
k .
Poznámky
Tato metoda vytvoří delegáty pouze pro metody instance. Metoda instance je metoda, která je přidružena k instanci třídy; statická metoda je metoda, která je přidružena 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í 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áta 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
který se má považovat za static
method
(Shared
v jazyce Visual Basic).
- method
- MethodInfo
Popis MethodInfo statické metody nebo metody instance, které má delegát reprezentovat.
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 v reflexi.
-nebo-
method
nelze svázat.
-nebo-
method
není .RuntimeMethodInfo
Viz Typy modulu runtime v reflexi.
Metoda Invoke
nebyla nalezena type
.
Volající nemá oprávnění potřebná pro přístup method
k .
Poznámky
Volání přetížení této metody je ekvivalentní volání CreateDelegate(Type, Object, MethodInfo, Boolean) přetížení metody a zadání true
pro throwOnBindFailure
. Tato dvě přetížení poskytují nejflexižně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ě k zadání prvního argumentu.
Poznámka
Pokud nezadáte první argument, pro zajištění lepšího výkonu CreateDelegate(Type, MethodInfo) použijte přetížení metody .
Další informace o tomto rozhraní API najdete 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ý bude představovat 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
Popis MethodInfo statické metody nebo metody instance, které má delegát reprezentovat.
Návraty
Delegát zadaného typu představující zadanou metodu.
Výjimky
type
nedědí MulticastDelegate.
-nebo-
type
není .RuntimeType
Viz Typy modulu runtime v reflexi.
-nebo-
method
nelze svázat.
-nebo-
method
není .RuntimeMethodInfo
Viz Typy modulu runtime v reflexi.
Metoda Invoke
nebyla nalezena type
.
Volající nemá oprávnění potřebná pro přístup method
k .
Poznámky
Toto přetížení může vytvořit delegáty pro statické metody a otevřené instance metody delegáty; to znamená delegáty, 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 přes jeho první argument, protože je v tomto případě o něco rychlejší.
Další informace o tomto rozhraní API najdete 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 v reflexi.
-nebo-
target
není .RuntimeType
-nebo-
target
je otevřený obecný typ. To znamená, že jeho ContainsGenericParameters vlastnost je true
.
-nebo-
method
není static
metoda (Shared
metoda v jazyce Visual Basic).
-nebo-
method
nelze svázat, například proto, že ho nelze najít, a throwOnBindFailure
je true
.
Metoda Invoke
nebyla nalezena type
.
Volající nemá oprávnění potřebná pro přístup method
k .
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, která je přidružena 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í false
pro ignoreCase
a true
pro throwOnBindFailure
.
Viz také
Platí pro
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro