Delegate.CreateDelegate Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria um delegado do tipo especificado.
Sobrecargas
CreateDelegate(Type, Object, String, Boolean, Boolean) |
Cria um delegado do tipo especificado que representa o método de instância especificado a ser invocado na instância da classe especificada, com a diferenciação de maiúsculas e minúsculas especificada e o comportamento especificado na falha de associação. |
CreateDelegate(Type, Type, String, Boolean) |
Cria um delegado do tipo especificado que representa o método estático especificado da classe especificada, com a diferenciação de maiúsculas e minúsculas especificada. |
CreateDelegate(Type, Object, String, Boolean) |
Cria um delegado do tipo especificado que representa o método de instância especificado a ser invocado na instância da classe especificada, com a diferenciação de maiúsculas e minúsculas especificada. |
CreateDelegate(Type, Object, MethodInfo, Boolean) |
Cria um delegado do tipo especificado que representa o método de instância ou estático especificado, com o primeiro argumento especificado e o comportamento especificado na falha para associação. |
CreateDelegate(Type, Type, String, Boolean, Boolean) |
Cria um delegado do tipo especificado que representa o método estático especificado da classe especificada, com a diferenciação de maiúsculas e minúsculas especificada e o comportamento especificado na falha de associação. |
CreateDelegate(Type, MethodInfo, Boolean) |
Cria um delegado do tipo especificado para representar o método estático especificado, com o comportamento em falhas especificado a ser associado. |
CreateDelegate(Type, Object, String) |
Cria um delegado do tipo especificado que representa o método de instância especificado a ser invocado na instância da classe especificada. |
CreateDelegate(Type, Object, MethodInfo) |
Cria um delegado do tipo especificado que representa o método de instância ou estático especificado com o primeiro argumento especificado. |
CreateDelegate(Type, MethodInfo) |
Cria um delegado do tipo especificado para representar o método especificado. |
CreateDelegate(Type, Type, String) |
Cria um delegado do tipo especificado que representa o método estático especificado da classe especificada. |
CreateDelegate(Type, Object, String, Boolean, Boolean)
- Origem:
- Delegate.CoreCLR.cs
- Origem:
- Delegate.CoreCLR.cs
- Origem:
- Delegate.CoreCLR.cs
Cria um delegado do tipo especificado que representa o método de instância especificado a ser invocado na instância da classe especificada, com a diferenciação de maiúsculas e minúsculas especificada e o comportamento especificado na falha de associação.
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
Parâmetros
- target
- Object
A instância de classe na qual method
é invocado.
- method
- String
O nome do método de instância que o delegado deve representar.
- ignoreCase
- Boolean
Um booliano indicando se é necessário ignorar as maiúsculas durante a comparação do nome do método.
- throwOnBindFailure
- Boolean
true
para lançar uma exceção caso method
não possa ser associado; do contrário, false
.
Retornos
Um delegado do tipo especificado que representa o método de instância especificado a ser invocado na instância da classe especificada.
Exceções
type
não herda MulticastDelegate.
- ou -
type
não é um RuntimeType
. Consulte Runtime Types in Reflection (Tipos de tempo de execução na reflexão).
- ou -
method
não é um método de instância.
- ou -
method
não pode ser associado, por exemplo, porque não foi encontrado e throwOnBindFailure
é true
.
O método Invoke
de type
não foi encontrado.
O chamador não tem as permissões necessárias para acessar method
.
Comentários
Esse método cria delegados apenas para métodos de instância. Método de instância é um método associado a uma instância de uma classe; método estático é um método associado à própria classe.
Confira também
Aplica-se a
CreateDelegate(Type, Type, String, Boolean)
- Origem:
- Delegate.cs
- Origem:
- Delegate.cs
- Origem:
- Delegate.cs
Cria um delegado do tipo especificado que representa o método estático especificado da classe especificada, com a diferenciação de maiúsculas e minúsculas especificada.
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
Parâmetros
- method
- String
O nome do método estático que o delegado deve representar.
- ignoreCase
- Boolean
Um booliano indicando se é necessário ignorar as maiúsculas durante a comparação do nome do método.
Retornos
Um delegado do tipo especificado que representa o método especificado estático da classe especificada.
Exceções
type
não herda MulticastDelegate.
- ou -
type
não é um RuntimeType
. Consulte Runtime Types in Reflection (Tipos de tempo de execução na reflexão).
- ou -
target
não é um RuntimeType
.
- ou -
target
é um tipo genérico aberto. Ou seja, sua propriedade ContainsGenericParameters é true
.
- ou -
O method
não é um método static
(método Shared
no Visual Basic).
- ou -
O method
não pode ser associado, por exemplo, porque não foi encontrado.
O método Invoke
de type
não foi encontrado.
O chamador não tem as permissões necessárias para acessar method
.
Comentários
Esse método cria delegados apenas para métodos estáticos. Método de instância é um método associado a uma instância de uma classe; método estático é um método associado à própria classe.
Essa sobrecarga de método é equivalente a chamar a sobrecarga do CreateDelegate(Type, Type, String, Boolean, Boolean) método, especificando true
para throwOnBindFailure
.
Confira também
Aplica-se a
CreateDelegate(Type, Object, String, Boolean)
- Origem:
- Delegate.cs
- Origem:
- Delegate.cs
- Origem:
- Delegate.cs
Cria um delegado do tipo especificado que representa o método de instância especificado a ser invocado na instância da classe especificada, com a diferenciação de maiúsculas e minúsculas especificada.
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
Parâmetros
- target
- Object
A instância de classe na qual method
é invocado.
- method
- String
O nome do método de instância que o delegado deve representar.
- ignoreCase
- Boolean
Um booliano indicando se é necessário ignorar as maiúsculas durante a comparação do nome do método.
Retornos
Um delegado do tipo especificado que representa o método de instância especificado a ser invocado na instância da classe especificada.
Exceções
type
não herda MulticastDelegate.
- ou -
type
não é um RuntimeType
. Consulte Runtime Types in Reflection (Tipos de tempo de execução na reflexão).
- ou -
method
não é um método de instância.
- ou -
O method
não pode ser associado, por exemplo, porque não foi encontrado.
O método Invoke
de type
não foi encontrado.
O chamador não tem as permissões necessárias para acessar method
.
Comentários
Esse método cria delegados apenas para métodos de instância. Método de instância é um método associado a uma instância de uma classe; método estático é um método associado à própria classe.
Essa sobrecarga de método é equivalente a chamar a sobrecarga do CreateDelegate(Type, Object, String, Boolean, Boolean) método, especificando true
para throwOnBindFailure
.
Confira também
Aplica-se a
CreateDelegate(Type, Object, MethodInfo, Boolean)
- Origem:
- Delegate.CoreCLR.cs
- Origem:
- Delegate.CoreCLR.cs
- Origem:
- Delegate.CoreCLR.cs
Cria um delegado do tipo especificado que representa o método de instância ou estático especificado, com o primeiro argumento especificado e o comportamento especificado na falha para associação.
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
Parâmetros
- firstArgument
- Object
Um Object que é o primeiro argumento do método que o delegado representa. Por exemplo, para métodos, ele deve ser compatível com o tipo de instância.
- method
- MethodInfo
O MethodInfo que descreve o método estático ou de instância que o representante deve representar.
- throwOnBindFailure
- Boolean
true
para lançar uma exceção caso method
não possa ser associado; do contrário, false
.
Retornos
Um delegado do tipo especificado que representa o método de instância ou estático especificado ou null
se throwOnBindFailure
é false
e o delegado não pode ser associado a method
.
Exceções
type
não herda MulticastDelegate.
- ou -
type
não é um RuntimeType
. Consulte Runtime Types in Reflection (Tipos de tempo de execução na reflexão).
- ou -
method
não pode ser associado e throwOnBindFailure
é true
.
- ou -
method
não é um RuntimeMethodInfo
. Consulte Runtime Types in Reflection (Tipos de tempo de execução na reflexão).
O método Invoke
de type
não foi encontrado.
O chamador não tem as permissões necessárias para acessar method
.
Comentários
Essa sobrecarga de método e a sobrecarga do CreateDelegate(Type, Object, MethodInfo) método, que sempre gera falha na associação, fornecem a maneira mais flexível de criar delegados. Você pode usá-los para criar delegados para métodos estáticos ou de instância, com ou sem um primeiro argumento.
Observação
Se você não fornecer um primeiro argumento, use a sobrecarga do método para melhorar o CreateDelegate(Type, MethodInfo, Boolean) desempenho.
Para obter mais informações e exemplos, consulte Comentários da API complementar para System.Delegate.CreateDelegate.
Confira também
Aplica-se a
CreateDelegate(Type, Type, String, Boolean, Boolean)
- Origem:
- Delegate.CoreCLR.cs
- Origem:
- Delegate.CoreCLR.cs
- Origem:
- Delegate.CoreCLR.cs
Cria um delegado do tipo especificado que representa o método estático especificado da classe especificada, com a diferenciação de maiúsculas e minúsculas especificada e o comportamento especificado na falha de associação.
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
Parâmetros
- method
- String
O nome do método estático que o delegado deve representar.
- ignoreCase
- Boolean
Um booliano indicando se é necessário ignorar as maiúsculas durante a comparação do nome do método.
- throwOnBindFailure
- Boolean
true
para lançar uma exceção caso method
não possa ser associado; do contrário, false
.
Retornos
Um delegado do tipo especificado que representa o método especificado estático da classe especificada.
Exceções
type
não herda MulticastDelegate.
- ou -
type
não é um RuntimeType
. Consulte Runtime Types in Reflection (Tipos de tempo de execução na reflexão).
- ou -
target
não é um RuntimeType
.
- ou -
target
é um tipo genérico aberto. Ou seja, sua propriedade ContainsGenericParameters é true
.
- ou -
O method
não é um método static
(método Shared
no Visual Basic).
- ou -
method
não pode ser associado, por exemplo, porque não foi encontrado e throwOnBindFailure
é true
.
O método Invoke
de type
não foi encontrado.
O chamador não tem as permissões necessárias para acessar method
.
Comentários
Esse método cria delegados somente para métodos estáticos. Método de instância é um método associado a uma instância de uma classe; método estático é um método associado à própria classe.
Confira também
Aplica-se a
CreateDelegate(Type, MethodInfo, Boolean)
- Origem:
- Delegate.CoreCLR.cs
- Origem:
- Delegate.CoreCLR.cs
- Origem:
- Delegate.CoreCLR.cs
Cria um delegado do tipo especificado para representar o método estático especificado, com o comportamento em falhas especificado a ser associado.
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
Parâmetros
- method
- MethodInfo
O MethodInfo que descreve o método estático ou de instância que o representante deve representar.
- throwOnBindFailure
- Boolean
true
para lançar uma exceção caso method
não possa ser associado; do contrário, false
.
Retornos
Um delegado do tipo especificado para representar o método estático especificado.
Exceções
type
não herda MulticastDelegate.
- ou -
type
não é um RuntimeType
. Consulte Runtime Types in Reflection (Tipos de tempo de execução na reflexão).
- ou -
method
não pode ser associado e throwOnBindFailure
é true
.
- ou -
method
não é um RuntimeMethodInfo
. Consulte Runtime Types in Reflection (Tipos de tempo de execução na reflexão).
O método Invoke
de type
não foi encontrado.
O chamador não tem as permissões necessárias para acessar method
.
Comentários
Essa sobrecarga de método pode criar delegados de método estático abertos e delegados de método de instância aberta – ou seja, delegados que expõem o primeiro argumento oculto dos métodos de instância. Para obter uma explicação detalhada, consulte a sobrecarga de método mais geral CreateDelegate(Type, Object, MethodInfo, Boolean) , que permite que você crie todas as combinações de delegados abertos ou fechados para métodos estáticos ou de instância.
Observação
Essa sobrecarga de método deve ser usada quando o delegado não é fechado sobre seu primeiro argumento, pois é um pouco mais rápido nesse caso.
Para obter exemplos, consulte Comentários da API Complementar para System.Delegate.CreateDelegate.
Confira também
Aplica-se a
CreateDelegate(Type, Object, String)
- Origem:
- Delegate.cs
- Origem:
- Delegate.cs
- Origem:
- Delegate.cs
Cria um delegado do tipo especificado que representa o método de instância especificado a ser invocado na instância da classe especificada.
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
Parâmetros
- target
- Object
A instância de classe na qual method
é invocado.
- method
- String
O nome do método de instância que o delegado deve representar.
Retornos
Um delegado do tipo especificado que representa o método de instância especificado a ser invocado na instância da classe especificada.
Exceções
type
não herda MulticastDelegate.
- ou -
type
não é um RuntimeType
. Consulte Runtime Types in Reflection (Tipos de tempo de execução na reflexão).
- ou -
method
não é um método de instância.
- ou -
O method
não pode ser associado, por exemplo, porque não foi encontrado.
O método Invoke
de type
não foi encontrado.
O chamador não tem as permissões necessárias para acessar method
.
Comentários
Esse método cria delegados apenas para métodos de instância. Método de instância é um método associado a uma instância de uma classe; método estático é um método associado à própria classe.
Essa sobrecarga de método é equivalente a chamar a sobrecarga do CreateDelegate(Type, Object, String, Boolean, Boolean) método, especificando false
para e true
para throwOnBindFailure
ignoreCase
.
Confira também
Aplica-se a
CreateDelegate(Type, Object, MethodInfo)
- Origem:
- Delegate.cs
- Origem:
- Delegate.cs
- Origem:
- Delegate.cs
Cria um delegado do tipo especificado que representa o método de instância ou estático especificado com o primeiro argumento especificado.
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
Parâmetros
- firstArgument
- Object
O objeto ao qual o delegado está associado ou null
para tratar method
como static
(Shared
no Visual Basic).
- method
- MethodInfo
O MethodInfo que descreve o método estático ou de instância que o representante deve representar.
Retornos
Um delegado do tipo especificado que representa o método de instância ou estático especificado.
Exceções
type
não herda MulticastDelegate.
- ou -
type
não é um RuntimeType
. Consulte Runtime Types in Reflection (Tipos de tempo de execução na reflexão).
- ou -
method
não pode ser associado.
- ou -
method
não é um RuntimeMethodInfo
. Consulte Runtime Types in Reflection (Tipos de tempo de execução na reflexão).
O método Invoke
de type
não foi encontrado.
O chamador não tem as permissões necessárias para acessar method
.
Comentários
Chamar essa sobrecarga de método é equivalente a chamar a sobrecarga do CreateDelegate(Type, Object, MethodInfo, Boolean) método e especificar true
para throwOnBindFailure
. Essas duas sobrecargas fornecem a maneira mais flexível de criar delegados. Você pode usá-los para criar delegados para métodos estáticos ou de instância e, opcionalmente, para especificar o primeiro argumento.
Observação
Se você não fornecer um primeiro argumento, use a sobrecarga do método para melhorar o CreateDelegate(Type, MethodInfo) desempenho.
Para obter mais informações sobre essa API, consulte Comentários da API Complementar para System.Delegate.CreateDelegate.
Confira também
Aplica-se a
CreateDelegate(Type, MethodInfo)
- Origem:
- Delegate.cs
- Origem:
- Delegate.cs
- Origem:
- Delegate.cs
Cria um delegado do tipo especificado para representar o método especificado.
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
Parâmetros
- method
- MethodInfo
O MethodInfo que descreve o método estático ou de instância que o representante deve representar.
Retornos
Um delegado do tipo especificado para representar o método especificado.
Exceções
type
não herda MulticastDelegate.
- ou -
type
não é um RuntimeType
. Consulte Runtime Types in Reflection (Tipos de tempo de execução na reflexão).
- ou -
method
não pode ser associado.
- ou -
method
não é um RuntimeMethodInfo
. Consulte Runtime Types in Reflection (Tipos de tempo de execução na reflexão).
O método Invoke
de type
não foi encontrado.
O chamador não tem as permissões necessárias para acessar method
.
Comentários
Essa sobrecarga pode criar delegados para métodos estáticos e delegados de método de instância aberta; ou seja, delegados que fornecem explicitamente o primeiro argumento oculto dos métodos de instância. Para obter uma explicação detalhada, consulte a sobrecarga de método mais geral CreateDelegate(Type, Object, MethodInfo) , que permite que você crie todas as combinações de delegados abertos ou fechados para métodos estáticos ou de instância e, opcionalmente, especifique um primeiro argumento.
Observação
Essa sobrecarga de método deve ser usada quando o delegado não é fechado sobre seu primeiro argumento, pois é um pouco mais rápido nesse caso.
Para obter mais informações sobre essa API, consulte Comentários da API Complementar para System.Delegate.CreateDelegate.
Confira também
Aplica-se a
CreateDelegate(Type, Type, String)
- Origem:
- Delegate.cs
- Origem:
- Delegate.cs
- Origem:
- Delegate.cs
Cria um delegado do tipo especificado que representa o método estático especificado da classe especificada.
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
Parâmetros
- method
- String
O nome do método estático que o delegado deve representar.
Retornos
Um delegado do tipo especificado que representa o método especificado estático da classe especificada.
Exceções
type
não herda MulticastDelegate.
- ou -
type
não é um RuntimeType
. Consulte Runtime Types in Reflection (Tipos de tempo de execução na reflexão).
- ou -
target
não é um RuntimeType
.
- ou -
target
é um tipo genérico aberto. Ou seja, sua propriedade ContainsGenericParameters é true
.
- ou -
O method
não é um método static
(método Shared
no Visual Basic).
- ou -
method
não pode ser associado, por exemplo, porque não foi encontrado e throwOnBindFailure
é true
.
O método Invoke
de type
não foi encontrado.
O chamador não tem as permissões necessárias para acessar method
.
Comentários
Esse método cria delegados apenas para métodos estáticos. Método de instância é um método associado a uma instância de uma classe; método estático é um método associado à própria classe.
Essa sobrecarga de método é equivalente a chamar a sobrecarga do CreateDelegate(Type, Type, String, Boolean, Boolean) método, especificando false
para e true
para throwOnBindFailure
ignoreCase
.
Confira também
Aplica-se a
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de