Udostępnij za pośrednictwem


Delegate.CreateDelegate Metoda

Definicja

Tworzy delegat określonego typu.

Przeciążenia

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

Tworzy delegat określonego typu, który reprezentuje określoną metodę wystąpienia do wywołania w określonym wystąpieniu klasy, z określoną czułością wielkości liter i określonym zachowaniem w przypadku niepowodzenia powiązania.

CreateDelegate(Type, Type, String, Boolean)

Tworzy delegat określonego typu, który reprezentuje określoną metodę statyczną określonej klasy z określoną czułością wielkości liter.

CreateDelegate(Type, Object, String, Boolean)

Tworzy delegat określonego typu, który reprezentuje określoną metodę wystąpienia do wywołania w określonym wystąpieniu klasy z określoną czułością wielkości liter.

CreateDelegate(Type, Object, MethodInfo, Boolean)

Tworzy delegat określonego typu, który reprezentuje określoną metodę statyczną lub wystąpienie z określonym pierwszym argumentem i określonym zachowaniem w przypadku niepowodzenia powiązania.

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

Tworzy delegat określonego typu, który reprezentuje określoną metodę statyczną określonej klasy, z określoną czułością wielkości liter i określonym zachowaniem w przypadku niepowodzenia powiązania.

CreateDelegate(Type, MethodInfo, Boolean)

Tworzy delegat określonego typu, aby reprezentować określoną metodę statyczną z określonym zachowaniem w przypadku niepowodzenia powiązania.

CreateDelegate(Type, Object, String)

Tworzy delegat określonego typu, który reprezentuje określoną metodę wystąpienia do wywołania w określonym wystąpieniu klasy.

CreateDelegate(Type, Object, MethodInfo)

Tworzy delegat określonego typu, który reprezentuje określoną metodę statyczną lub wystąpienie z określonym pierwszym argumentem.

CreateDelegate(Type, MethodInfo)

Tworzy delegat określonego typu, aby reprezentować określoną metodę.

CreateDelegate(Type, Type, String)

Tworzy delegat określonego typu, który reprezentuje określoną metodę statyczną określonej klasy.

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

Źródło:
Delegate.CoreCLR.cs
Źródło:
Delegate.CoreCLR.cs
Źródło:
Delegate.CoreCLR.cs
Źródło:
Delegate.CoreCLR.cs
Źródło:
Delegate.CoreCLR.cs

Tworzy delegat określonego typu, który reprezentuje określoną metodę wystąpienia do wywołania w określonym wystąpieniu klasy, z określoną czułością wielkości liter i określonym zachowaniem w przypadku niepowodzenia powiązania.

public:
 static Delegate ^ CreateDelegate(Type ^ type, System::Object ^ target, System::String ^ method, bool ignoreCase, bool throwOnBindFailure);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")]
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);
public static Delegate? CreateDelegate(Type type, object target, string method, bool ignoreCase, bool throwOnBindFailure);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")>]
static member CreateDelegate : Type * obj * string * bool * bool -> Delegate
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

Delegat Type do utworzenia.

target
Object

Wystąpienie klasy, na którym method jest wywoływane.

method
String

Nazwa metody wystąpienia, którą ma reprezentować delegat.

ignoreCase
Boolean

Wartość logiczna wskazująca, czy należy zignorować przypadek podczas porównywania nazwy metody.

throwOnBindFailure
Boolean

true w celu zgłoszenia wyjątku, jeśli method nie można go powiązać; w przeciwnym razie false.

Zwraca

Delegat określonego typu, który reprezentuje określoną metodę wystąpienia do wywołania w określonym wystąpieniu klasy.

Atrybuty

Wyjątki

Parametr type ma wartość null.

-lub-

Parametr target ma wartość null.

-lub-

Parametr method ma wartość null.

type nie dziedziczy MulticastDelegate.

-lub-

typenie jest .RuntimeType

-lub-

method nie jest metodą wystąpienia.

-lub-

method nie można powiązać, na przykład dlatego, że nie można go odnaleźć i throwOnBindFailure ma wartość true.

Nie Invoke można odnaleźć metody type .

Obiekt wywołujący nie ma uprawnień niezbędnych do uzyskania dostępu do methodelementu .

Uwagi

Ta metoda tworzy delegatów tylko dla metod wystąpień. Metoda wystąpienia to metoda skojarzona z wystąpieniem klasy; metoda statyczna to metoda skojarzona z samą klasą.

Zobacz też

Dotyczy

CreateDelegate(Type, Type, String, Boolean)

Źródło:
Delegate.cs
Źródło:
Delegate.cs
Źródło:
Delegate.cs
Źródło:
Delegate.cs
Źródło:
Delegate.cs

Tworzy delegat określonego typu, który reprezentuje określoną metodę statyczną określonej klasy z określoną czułością wielkości liter.

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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")]
public static Delegate CreateDelegate(Type type, Type target, string method, bool ignoreCase);
static member CreateDelegate : Type * Type * string * bool -> Delegate
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")>]
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

Delegat Type do utworzenia.

target
Type

Type Reprezentująca klasę, która implementuje methodelement .

method
String

Nazwa metody statycznej, którą ma reprezentować delegat.

ignoreCase
Boolean

Wartość logiczna wskazująca, czy należy zignorować przypadek podczas porównywania nazwy metody.

Zwraca

Delegat określonego typu, który reprezentuje określoną metodę statyczną określonej klasy.

Atrybuty

Wyjątki

Parametr type ma wartość null.

-lub-

Parametr target ma wartość null.

-lub-

Parametr method ma wartość null.

type nie dziedziczy MulticastDelegate.

-lub-

typenie jest .RuntimeType

-lub-

targetnie jest .RuntimeType

-lub-

target jest otwartym typem ogólnym. Oznacza to, że jego ContainsGenericParameters właściwość to true.

-lub-

method nie jest metodą static (metoda Shared w Visual Basic).

-lub-

method nie można powiązać, na przykład dlatego, że nie można go odnaleźć.

Nie Invoke można odnaleźć metody type .

Obiekt wywołujący nie ma uprawnień niezbędnych do uzyskania dostępu do methodelementu .

Uwagi

Ta metoda tworzy delegatów tylko dla metod statycznych. Metoda wystąpienia to metoda skojarzona z wystąpieniem klasy; metoda statyczna to metoda skojarzona z samą klasą.

To przeciążenie metody jest równoważne wywołaniu CreateDelegate(Type, Type, String, Boolean, Boolean) przeciążenia metody, określając true wartość .throwOnBindFailure

Zobacz też

Dotyczy

CreateDelegate(Type, Object, String, Boolean)

Źródło:
Delegate.cs
Źródło:
Delegate.cs
Źródło:
Delegate.cs
Źródło:
Delegate.cs
Źródło:
Delegate.cs

Tworzy delegat określonego typu, który reprezentuje określoną metodę wystąpienia do wywołania w określonym wystąpieniu klasy z określoną czułością wielkości liter.

public:
 static Delegate ^ CreateDelegate(Type ^ type, System::Object ^ target, System::String ^ method, bool ignoreCase);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")]
public static Delegate CreateDelegate(Type type, object target, string method, bool ignoreCase);
public static Delegate CreateDelegate(Type type, object target, string method, bool ignoreCase);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")>]
static member CreateDelegate : Type * obj * string * bool -> Delegate
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

Delegat Type do utworzenia.

target
Object

Wystąpienie klasy, na którym method jest wywoływane.

method
String

Nazwa metody wystąpienia, którą ma reprezentować delegat.

ignoreCase
Boolean

Wartość logiczna wskazująca, czy należy zignorować przypadek podczas porównywania nazwy metody.

Zwraca

Delegat określonego typu, który reprezentuje określoną metodę wystąpienia do wywołania w określonym wystąpieniu klasy.

Atrybuty

Wyjątki

Parametr type ma wartość null.

-lub-

Parametr target ma wartość null.

-lub-

Parametr method ma wartość null.

type nie dziedziczy MulticastDelegate.

-lub-

typenie jest .RuntimeType

-lub-

method nie jest metodą wystąpienia.

-lub-

method nie można powiązać, na przykład dlatego, że nie można go odnaleźć.

Nie Invoke można odnaleźć metody type .

Obiekt wywołujący nie ma uprawnień niezbędnych do uzyskania dostępu do methodelementu .

Uwagi

Ta metoda tworzy delegatów tylko dla metod wystąpień. Metoda wystąpienia to metoda skojarzona z wystąpieniem klasy; metoda statyczna to metoda skojarzona z samą klasą.

To przeciążenie metody jest równoważne wywołaniu CreateDelegate(Type, Object, String, Boolean, Boolean) przeciążenia metody, określając true wartość .throwOnBindFailure

Zobacz też

Dotyczy

CreateDelegate(Type, Object, MethodInfo, Boolean)

Źródło:
Delegate.CoreCLR.cs
Źródło:
Delegate.CoreCLR.cs
Źródło:
Delegate.CoreCLR.cs
Źródło:
Delegate.CoreCLR.cs
Źródło:
Delegate.CoreCLR.cs

Tworzy delegat określonego typu, który reprezentuje określoną metodę statyczną lub wystąpienie z określonym pierwszym argumentem i określonym zachowaniem w przypadku niepowodzenia powiązania.

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

Reprezentujący Type typ delegata do utworzenia.

firstArgument
Object

Jest Object to pierwszy argument metody reprezentowanej przez delegata. Na przykład metody muszą być zgodne z typem wystąpienia.

method
MethodInfo

Opis MethodInfo metody statycznej lub wystąpienia, którą ma reprezentować delegat.

throwOnBindFailure
Boolean

true w celu zgłoszenia wyjątku, jeśli method nie można go powiązać; w przeciwnym razie false.

Zwraca

Delegat określonego typu, który reprezentuje określoną metodę statyczną lub wystąpienie, lub null jeśli throwOnBindFailure jest false i delegat nie może być powiązany z method.

Wyjątki

Parametr type ma wartość null.

-lub-

Parametr method ma wartość null.

type nie dziedziczy MulticastDelegate.

-lub-

typenie jest .RuntimeType

-lub-

method nie można powiązać i throwOnBindFailure ma wartość true.

-lub-

methodnie jest .RuntimeMethodInfo

Nie Invoke można odnaleźć metody type .

Obiekt wywołujący nie ma uprawnień niezbędnych do uzyskania dostępu do methodelementu .

Uwagi

Ta metoda przeciąża i CreateDelegate(Type, Object, MethodInfo) przeciążenie metody, które zawsze zgłasza błąd powiązania, zapewniają najbardziej elastyczny sposób tworzenia delegatów. Można ich użyć do tworzenia delegatów dla metod statycznych lub wystąpień z lub bez pierwszego argumentu.

Nuta

Jeśli nie podasz pierwszego argumentu, użyj CreateDelegate(Type, MethodInfo, Boolean) przeciążenia metody, aby uzyskać lepszą wydajność.

Aby uzyskać więcej informacji i przykładów, zobacz Dodatkowe uwagi dotyczące interfejsu API dla elementu System.Delegate.CreateDelegate.

Zobacz też

Dotyczy

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

Źródło:
Delegate.CoreCLR.cs
Źródło:
Delegate.CoreCLR.cs
Źródło:
Delegate.CoreCLR.cs
Źródło:
Delegate.CoreCLR.cs
Źródło:
Delegate.CoreCLR.cs

Tworzy delegat określonego typu, który reprezentuje określoną metodę statyczną określonej klasy, z określoną czułością wielkości liter i określonym zachowaniem w przypadku niepowodzenia powiązania.

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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")]
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
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")>]
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

Delegat Type do utworzenia.

target
Type

Type Reprezentująca klasę, która implementuje methodelement .

method
String

Nazwa metody statycznej, którą ma reprezentować delegat.

ignoreCase
Boolean

Wartość logiczna wskazująca, czy należy zignorować przypadek podczas porównywania nazwy metody.

throwOnBindFailure
Boolean

true w celu zgłoszenia wyjątku, jeśli method nie można go powiązać; w przeciwnym razie false.

Zwraca

Delegat określonego typu, który reprezentuje określoną metodę statyczną określonej klasy.

Atrybuty

Wyjątki

Parametr type ma wartość null.

-lub-

Parametr target ma wartość null.

-lub-

Parametr method ma wartość null.

type nie dziedziczy MulticastDelegate.

-lub-

typenie jest .RuntimeType

-lub-

targetnie jest .RuntimeType

-lub-

target jest otwartym typem ogólnym. Oznacza to, że jego ContainsGenericParameters właściwość to true.

-lub-

method nie jest metodą static (metoda Shared w Visual Basic).

-lub-

method nie można powiązać, na przykład dlatego, że nie można go odnaleźć i throwOnBindFailure ma wartość true.

Nie Invoke można odnaleźć metody type .

Obiekt wywołujący nie ma uprawnień niezbędnych do uzyskania dostępu do methodelementu .

Uwagi

Ta metoda tworzy delegatów tylko dla metod statycznych. Metoda wystąpienia to metoda skojarzona z wystąpieniem klasy; metoda statyczna to metoda skojarzona z samą klasą.

Zobacz też

Dotyczy

CreateDelegate(Type, MethodInfo, Boolean)

Źródło:
Delegate.CoreCLR.cs
Źródło:
Delegate.CoreCLR.cs
Źródło:
Delegate.CoreCLR.cs
Źródło:
Delegate.CoreCLR.cs
Źródło:
Delegate.CoreCLR.cs

Tworzy delegat określonego typu, aby reprezentować określoną metodę statyczną z określonym zachowaniem w przypadku niepowodzenia powiązania.

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

Delegat Type do utworzenia.

method
MethodInfo

Opis MethodInfo metody statycznej lub wystąpienia, którą ma reprezentować delegat.

throwOnBindFailure
Boolean

true w celu zgłoszenia wyjątku, jeśli method nie można go powiązać; w przeciwnym razie false.

Zwraca

Delegat określonego typu reprezentujący określoną metodę statyczną.

Wyjątki

Parametr type ma wartość null.

-lub-

Parametr method ma wartość null.

type nie dziedziczy MulticastDelegate.

-lub-

typenie jest .RuntimeType

-lub-

method nie można powiązać i throwOnBindFailure ma wartość true.

-lub-

methodnie jest .RuntimeMethodInfo

Nie Invoke można odnaleźć metody type .

Obiekt wywołujący nie ma uprawnień niezbędnych do uzyskania dostępu do methodelementu .

Uwagi

To przeciążenie metody umożliwia utworzenie otwartych delegatów metody statycznej i delegatów metody otwierania wystąpienia — czyli delegatów, które uwidaczniają ukryty pierwszy argument metod wystąpienia. Aby uzyskać szczegółowe wyjaśnienie, zobacz bardziej ogólne CreateDelegate(Type, Object, MethodInfo, Boolean) przeciążenie metody, które umożliwia tworzenie wszystkich kombinacji otwartych lub zamkniętych delegatów na przykład lub metod statycznych.

Nuta

To przeciążenie metody należy użyć, gdy delegat nie zostanie zamknięty w pierwszym argumencie, ponieważ jest nieco szybszy w tym przypadku.

Aby zapoznać się z przykładami, zobacz Dodatkowe uwagi dotyczące interfejsu API dla elementu System.Delegate.CreateDelegate.

Zobacz też

Dotyczy

CreateDelegate(Type, Object, String)

Źródło:
Delegate.cs
Źródło:
Delegate.cs
Źródło:
Delegate.cs
Źródło:
Delegate.cs
Źródło:
Delegate.cs

Tworzy delegat określonego typu, który reprezentuje określoną metodę wystąpienia do wywołania w określonym wystąpieniu klasy.

public:
 static Delegate ^ CreateDelegate(Type ^ type, System::Object ^ target, System::String ^ method);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")]
public static Delegate CreateDelegate(Type type, object target, string method);
public static Delegate CreateDelegate(Type type, object target, string method);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")>]
static member CreateDelegate : Type * obj * string -> Delegate
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

Delegat Type do utworzenia.

target
Object

Wystąpienie klasy, na którym method jest wywoływane.

method
String

Nazwa metody wystąpienia, którą ma reprezentować delegat.

Zwraca

Delegat określonego typu, który reprezentuje określoną metodę wystąpienia do wywołania w określonym wystąpieniu klasy.

Atrybuty

Wyjątki

Parametr type ma wartość null.

-lub-

Parametr target ma wartość null.

-lub-

Parametr method ma wartość null.

type nie dziedziczy MulticastDelegate.

-lub-

typenie jest .RuntimeType

-lub-

method nie jest metodą wystąpienia.

-lub-

method nie można powiązać, na przykład dlatego, że nie można go odnaleźć.

Nie Invoke można odnaleźć metody type .

Obiekt wywołujący nie ma uprawnień niezbędnych do uzyskania dostępu do methodelementu .

Uwagi

Ta metoda tworzy delegatów tylko dla metod wystąpień. Metoda wystąpienia to metoda skojarzona z wystąpieniem klasy; metoda statyczna to metoda skojarzona z samą klasą.

To przeciążenie metody jest równoważne wywołaniu CreateDelegate(Type, Object, String, Boolean, Boolean) przeciążenia metody, określając false parametr ignoreCase i true dla throwOnBindFailureelementu .

Zobacz też

Dotyczy

CreateDelegate(Type, Object, MethodInfo)

Źródło:
Delegate.cs
Źródło:
Delegate.cs
Źródło:
Delegate.cs
Źródło:
Delegate.cs
Źródło:
Delegate.cs

Tworzy delegat określonego typu, który reprezentuje określoną metodę statyczną lub wystąpienie z określonym pierwszym 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

Delegat Type do utworzenia.

firstArgument
Object

Obiekt, do którego jest powiązany delegat lub null traktować method jako static (Shared w Visual Basic).

method
MethodInfo

Opis MethodInfo metody statycznej lub wystąpienia, którą ma reprezentować delegat.

Zwraca

Delegat określonego typu, który reprezentuje określoną metodę statyczną lub wystąpienie.

Wyjątki

Parametr type ma wartość null.

-lub-

Parametr method ma wartość null.

type nie dziedziczy MulticastDelegate.

-lub-

typenie jest .RuntimeType

-lub-

method nie można powiązać.

-lub-

methodnie jest .RuntimeMethodInfo

Nie Invoke można odnaleźć metody type .

Obiekt wywołujący nie ma uprawnień niezbędnych do uzyskania dostępu do methodelementu .

Uwagi

Wywołanie tego przeciążenia metody jest równoważne wywołaniu CreateDelegate(Type, Object, MethodInfo, Boolean) przeciążenia metody i określeniu true dla throwOnBindFailureelementu . Te dwa przeciążenia zapewniają najbardziej elastyczny sposób tworzenia delegatów. Można ich użyć do tworzenia delegatów dla metod statycznych lub wystąpień, a opcjonalnie do określenia pierwszego argumentu.

Nuta

Jeśli nie podasz pierwszego argumentu, użyj CreateDelegate(Type, MethodInfo) przeciążenia metody, aby uzyskać lepszą wydajność.

Aby uzyskać więcej informacji na temat tego interfejsu API, zobacz Dodatkowe uwagi dotyczące interfejsu API dla elementu System.Delegate.CreateDelegate.

Zobacz też

Dotyczy

CreateDelegate(Type, MethodInfo)

Źródło:
Delegate.cs
Źródło:
Delegate.cs
Źródło:
Delegate.cs
Źródło:
Delegate.cs
Źródło:
Delegate.cs

Tworzy delegat określonego typu, aby reprezentować określoną metodę.

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

Delegat Type do utworzenia.

method
MethodInfo

Opis MethodInfo metody statycznej lub wystąpienia, którą ma reprezentować delegat.

Zwraca

Delegat określonego typu reprezentujący określoną metodę.

Wyjątki

Parametr type ma wartość null.

-lub-

Parametr method ma wartość null.

type nie dziedziczy MulticastDelegate.

-lub-

typenie jest .RuntimeType

-lub-

method nie można powiązać.

-lub-

methodnie jest .RuntimeMethodInfo

Nie Invoke można odnaleźć metody type .

Obiekt wywołujący nie ma uprawnień niezbędnych do uzyskania dostępu do methodelementu .

Uwagi

To przeciążenie może tworzyć delegaty dla metod statycznych i delegatów metody otwierania wystąpienia; oznacza to, że delegaty, które jawnie dostarczają ukryty pierwszy argument metod wystąpienia. Aby uzyskać szczegółowe wyjaśnienie, zobacz bardziej ogólne CreateDelegate(Type, Object, MethodInfo) przeciążenie metody, które pozwala utworzyć wszystkie kombinacje otwartych lub zamkniętych delegatów na przykład lub metody statyczne, a opcjonalnie określić pierwszy argument.

Nuta

To przeciążenie metody należy użyć, gdy delegat nie zostanie zamknięty w pierwszym argumencie, ponieważ jest nieco szybszy w tym przypadku.

Aby uzyskać więcej informacji na temat tego interfejsu API, zobacz Dodatkowe uwagi dotyczące interfejsu API dla elementu System.Delegate.CreateDelegate.

Zobacz też

Dotyczy

CreateDelegate(Type, Type, String)

Źródło:
Delegate.cs
Źródło:
Delegate.cs
Źródło:
Delegate.cs
Źródło:
Delegate.cs
Źródło:
Delegate.cs

Tworzy delegat określonego typu, który reprezentuje określoną metodę statyczną określonej klasy.

public:
 static Delegate ^ CreateDelegate(Type ^ type, Type ^ target, System::String ^ method);
public static Delegate CreateDelegate(Type type, Type target, string method);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")]
public static Delegate CreateDelegate(Type type, Type target, string method);
static member CreateDelegate : Type * Type * string -> Delegate
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")>]
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

Delegat Type do utworzenia.

target
Type

Type Reprezentująca klasę, która implementuje methodelement .

method
String

Nazwa metody statycznej, którą ma reprezentować delegat.

Zwraca

Delegat określonego typu, który reprezentuje określoną metodę statyczną określonej klasy.

Atrybuty

Wyjątki

Parametr type ma wartość null.

-lub-

Parametr target ma wartość null.

-lub-

Parametr method ma wartość null.

type nie dziedziczy MulticastDelegate.

-lub-

typenie jest .RuntimeType

-lub-

targetnie jest .RuntimeType

-lub-

target jest otwartym typem ogólnym. Oznacza to, że jego ContainsGenericParameters właściwość to true.

-lub-

method nie jest metodą static (metoda Shared w Visual Basic).

Nie Invoke można odnaleźć metody type .

Obiekt wywołujący nie ma uprawnień niezbędnych do uzyskania dostępu do methodelementu .

Uwagi

Ta metoda tworzy delegatów tylko dla metod statycznych. Metoda wystąpienia to metoda skojarzona z wystąpieniem klasy; metoda statyczna to metoda skojarzona z samą klasą.

To przeciążenie metody jest równoważne wywołaniu CreateDelegate(Type, Type, String, Boolean, Boolean) przeciążenia metody, określając false parametr ignoreCase i true dla throwOnBindFailureelementu .

Zobacz też

Dotyczy