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í 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

type
Type

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

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 je null.

-nebo-

target je null.

-nebo-

method je null.

type nedědí MulticastDelegate.

-nebo-

typenení .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 methodk .

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

type
Type

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

target
Type

Představuje Type 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 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 je null.

-nebo-

target je null.

-nebo-

method je null.

type nedědí MulticastDelegate.

-nebo-

typenení .RuntimeType Viz Typy modulu runtime v reflexi.

-nebo-

targetnení .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 methodk .

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

type
Type

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

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 je null.

-nebo-

target je null.

-nebo-

method je null.

type nedědí MulticastDelegate.

-nebo-

typenení .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 methodk .

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

type
Type

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

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 je null.

-nebo-

method je null.

type nedědí MulticastDelegate.

-nebo-

typenení .RuntimeType Viz Typy modulu runtime v reflexi.

-nebo-

method nelze svázat a throwOnBindFailure je true.

-nebo-

methodnení .RuntimeMethodInfo Viz Typy modulu runtime v reflexi.

Metoda Invoke nebyla nalezena type .

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

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

type
Type

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

target
Type

Představuje Type 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 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 je null.

-nebo-

target je null.

-nebo-

method je null.

type nedědí MulticastDelegate.

-nebo-

typenení .RuntimeType Viz Typy modulu runtime v reflexi.

-nebo-

targetnení .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 methodk .

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

type
Type

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

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 je null.

-nebo-

method je null.

type nedědí MulticastDelegate.

-nebo-

typenení .RuntimeType Viz Typy modulu runtime v reflexi.

-nebo-

method nelze svázat a throwOnBindFailure je true.

-nebo-

methodnení .RuntimeMethodInfo Viz Typy modulu runtime v reflexi.

Metoda Invoke nebyla nalezena type .

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

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

type
Type

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

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 je null.

-nebo-

target je null.

-nebo-

method je null.

type nedědí MulticastDelegate.

-nebo-

typenení .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 methodk .

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

type
Type

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

firstArgument
Object

Objekt, ke kterému je delegát vázán nebo null který se má považovat za staticmethod (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 je null.

-nebo-

method je null.

type nedědí MulticastDelegate.

-nebo-

typenení .RuntimeType Viz Typy modulu runtime v reflexi.

-nebo-

method nelze svázat.

-nebo-

methodnení .RuntimeMethodInfo Viz Typy modulu runtime v reflexi.

Metoda Invoke nebyla nalezena type .

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

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

type
Type

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

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 je null.

-nebo-

method je null.

type nedědí MulticastDelegate.

-nebo-

typenení .RuntimeType Viz Typy modulu runtime v reflexi.

-nebo-

method nelze svázat.

-nebo-

methodnení .RuntimeMethodInfo Viz Typy modulu runtime v reflexi.

Metoda Invoke nebyla nalezena type .

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

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

type
Type

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

target
Type

Představuje Type 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-

typenení .RuntimeType Viz Typy modulu runtime v reflexi.

-nebo-

targetnení .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 methodk .

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