Delegate.CreateDelegate Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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
- 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
- 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
- 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
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
- 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
- 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
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
- 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
- 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
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
- 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
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
- 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 .