Delegate.CreateDelegate Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea un delegado del tipo especificado.
Sobrecargas
| Nombre | Description |
|---|---|
| CreateDelegate(Type, Object, String, Boolean, Boolean) |
Crea un delegado del tipo especificado que representa el método de instancia especificado que se va a invocar en la instancia de clase especificada, con la distinción entre mayúsculas y minúsculas especificada y el comportamiento especificado en caso de error de enlace. |
| CreateDelegate(Type, Type, String, Boolean) |
Crea un delegado del tipo especificado que representa el método estático especificado de la clase especificada, con la distinción entre mayúsculas y minúsculas especificada. |
| CreateDelegate(Type, Object, String, Boolean) |
Crea un delegado del tipo especificado que representa el método de instancia especificado que se va a invocar en la instancia de clase especificada con la distinción de mayúsculas y minúsculas especificada. |
| CreateDelegate(Type, Object, MethodInfo, Boolean) |
Crea un delegado del tipo especificado que representa el método estático o de instancia especificado, con el primer argumento especificado y el comportamiento especificado en caso de error de enlace. |
| CreateDelegate(Type, Type, String, Boolean, Boolean) |
Crea un delegado del tipo especificado que representa el método estático especificado de la clase especificada, con la distinción de mayúsculas y minúsculas especificada y el comportamiento especificado en caso de error de enlace. |
| CreateDelegate(Type, MethodInfo, Boolean) |
Crea un delegado del tipo especificado para representar el método estático especificado, con el comportamiento especificado en caso de error de enlace. |
| CreateDelegate(Type, Object, String) |
Crea un delegado del tipo especificado que representa el método de instancia especificado que se va a invocar en la instancia de clase especificada. |
| CreateDelegate(Type, Object, MethodInfo) |
Crea un delegado del tipo especificado que representa el método estático o de instancia especificado, con el primer argumento especificado. |
| CreateDelegate(Type, MethodInfo) |
Crea un delegado del tipo especificado para representar el método especificado. |
| CreateDelegate(Type, Type, String) |
Crea un delegado del tipo especificado que representa el método estático especificado de la clase especificada. |
CreateDelegate(Type, Object, String, Boolean, Boolean)
- Source:
- Delegate.CoreCLR.cs
- Source:
- Delegate.CoreCLR.cs
- Source:
- Delegate.CoreCLR.cs
- Source:
- Delegate.CoreCLR.cs
- Source:
- Delegate.CoreCLR.cs
Crea un delegado del tipo especificado que representa el método de instancia especificado que se va a invocar en la instancia de clase especificada, con la distinción entre mayúsculas y minúsculas especificada y el comportamiento especificado en caso de error de enlace.
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
Parámetros
- target
- Object
Instancia de clase en la que method se invoca.
- method
- String
Nombre del método de instancia que el delegado va a representar.
- ignoreCase
- Boolean
Valor booleano que indica si se omitirá el caso al comparar el nombre del método.
- throwOnBindFailure
- Boolean
true para producir una excepción si method no se puede enlazar; de lo contrario, false.
Devoluciones
Delegado del tipo especificado que representa el método de instancia especificado que se va a invocar en la instancia de clase especificada.
- Atributos
Excepciones
type no hereda MulticastDelegate.
-o-
typeno es .RuntimeType
-o-
method no es un método de instancia.
-o-
method no se puede enlazar, por ejemplo, porque no se encuentra y throwOnBindFailure es true.
No se encuentra el Invoke método de type .
El autor de la llamada no tiene los permisos necesarios para acceder methoda .
Comentarios
Este método crea delegados solo para métodos de instancia. Un método de instancia es un método asociado a una instancia de una clase; un método estático es un método asociado a la propia clase.
Consulte también
Se aplica a
CreateDelegate(Type, Type, String, Boolean)
- Source:
- Delegate.cs
- Source:
- Delegate.cs
- Source:
- Delegate.cs
- Source:
- Delegate.cs
- Source:
- Delegate.cs
Crea un delegado del tipo especificado que representa el método estático especificado de la clase especificada, con la distinción entre mayúsculas y 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);
[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
Parámetros
- method
- String
Nombre del método estático que el delegado va a representar.
- ignoreCase
- Boolean
Valor booleano que indica si se omitirá el caso al comparar el nombre del método.
Devoluciones
Delegado del tipo especificado que representa el método estático especificado de la clase especificada.
- Atributos
Excepciones
type no hereda MulticastDelegate.
-o-
typeno es .RuntimeType
-o-
targetno es .RuntimeType
-o-
target es un tipo genérico abierto. Es decir, su ContainsGenericParameters propiedad es true.
-o-
method no es un método static (Shared método en Visual Basic).
-o-
method no se puede enlazar, por ejemplo, porque no se encuentra.
No se encuentra el Invoke método de type .
El autor de la llamada no tiene los permisos necesarios para acceder methoda .
Comentarios
Este método crea delegados solo para métodos estáticos. Un método de instancia es un método asociado a una instancia de una clase; un método estático es un método asociado a la propia clase.
Esta sobrecarga de método es equivalente a llamar a la sobrecarga del CreateDelegate(Type, Type, String, Boolean, Boolean) método, especificando true para throwOnBindFailure.
Consulte también
Se aplica a
CreateDelegate(Type, Object, String, Boolean)
- Source:
- Delegate.cs
- Source:
- Delegate.cs
- Source:
- Delegate.cs
- Source:
- Delegate.cs
- Source:
- Delegate.cs
Crea un delegado del tipo especificado que representa el método de instancia especificado que se va a invocar en la instancia de clase especificada con la distinción de mayúsculas y minúsculas especificada.
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
Parámetros
- target
- Object
Instancia de clase en la que method se invoca.
- method
- String
Nombre del método de instancia que el delegado va a representar.
- ignoreCase
- Boolean
Valor booleano que indica si se omitirá el caso al comparar el nombre del método.
Devoluciones
Delegado del tipo especificado que representa el método de instancia especificado que se va a invocar en la instancia de clase especificada.
- Atributos
Excepciones
type no hereda MulticastDelegate.
-o-
typeno es .RuntimeType
-o-
method no es un método de instancia.
-o-
method no se puede enlazar, por ejemplo, porque no se encuentra.
No se encuentra el Invoke método de type .
El autor de la llamada no tiene los permisos necesarios para acceder methoda .
Comentarios
Este método crea delegados solo para métodos de instancia. Un método de instancia es un método asociado a una instancia de una clase; un método estático es un método asociado a la propia clase.
Esta sobrecarga de método es equivalente a llamar a la sobrecarga del CreateDelegate(Type, Object, String, Boolean, Boolean) método, especificando true para throwOnBindFailure.
Consulte también
Se aplica a
CreateDelegate(Type, Object, MethodInfo, Boolean)
- Source:
- Delegate.CoreCLR.cs
- Source:
- Delegate.CoreCLR.cs
- Source:
- Delegate.CoreCLR.cs
- Source:
- Delegate.CoreCLR.cs
- Source:
- Delegate.CoreCLR.cs
Crea un delegado del tipo especificado que representa el método estático o de instancia especificado, con el primer argumento especificado y el comportamiento especificado en caso de error de enlace.
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
que Object es el primer argumento del método que representa el delegado. Por ejemplo, los métodos deben ser compatibles con el tipo de instancia.
- method
- MethodInfo
Que MethodInfo describe el método estático o de instancia que el delegado va a representar.
- throwOnBindFailure
- Boolean
true para producir una excepción si method no se puede enlazar; de lo contrario, false.
Devoluciones
Delegado del tipo especificado que representa el método estático o de instancia especificado, o null si throwOnBindFailure es false y el delegado no se puede enlazar a method.
Excepciones
type no hereda MulticastDelegate.
-o-
typeno es .RuntimeType
-o-
method no se puede enlazar y throwOnBindFailure es true.
-o-
methodno es .RuntimeMethodInfo
No se encuentra el Invoke método de type .
El autor de la llamada no tiene los permisos necesarios para acceder methoda .
Comentarios
Esta sobrecarga de método y la sobrecarga del CreateDelegate(Type, Object, MethodInfo) método, que siempre produce un error al enlazar, proporcionan la manera más flexible de crear delegados. Puede usarlos para crear delegados para métodos estáticos o de instancia, con o sin un primer argumento.
Nota
Si no proporciona un primer argumento, use la sobrecarga del método para mejorar el CreateDelegate(Type, MethodInfo, Boolean) rendimiento.
Para obtener más información y ejemplos, consulte Comentarios complementarios de API para System.Delegate.CreateDelegate.
Consulte también
Se aplica a
CreateDelegate(Type, Type, String, Boolean, Boolean)
- Source:
- Delegate.CoreCLR.cs
- Source:
- Delegate.CoreCLR.cs
- Source:
- Delegate.CoreCLR.cs
- Source:
- Delegate.CoreCLR.cs
- Source:
- Delegate.CoreCLR.cs
Crea un delegado del tipo especificado que representa el método estático especificado de la clase especificada, con la distinción de mayúsculas y minúsculas especificada y el comportamiento especificado en caso de error de enlace.
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
Parámetros
- method
- String
Nombre del método estático que el delegado va a representar.
- ignoreCase
- Boolean
Valor booleano que indica si se omitirá el caso al comparar el nombre del método.
- throwOnBindFailure
- Boolean
true para producir una excepción si method no se puede enlazar; de lo contrario, false.
Devoluciones
Delegado del tipo especificado que representa el método estático especificado de la clase especificada.
- Atributos
Excepciones
type no hereda MulticastDelegate.
-o-
typeno es .RuntimeType
-o-
targetno es .RuntimeType
-o-
target es un tipo genérico abierto. Es decir, su ContainsGenericParameters propiedad es true.
-o-
method no es un método static (Shared método en Visual Basic).
-o-
method no se puede enlazar, por ejemplo, porque no se encuentra y throwOnBindFailure es true.
No se encuentra el Invoke método de type .
El autor de la llamada no tiene los permisos necesarios para acceder methoda .
Comentarios
Este método crea delegados solo para métodos estáticos. Un método de instancia es un método asociado a una instancia de una clase; un método estático es un método asociado a la propia clase.
Consulte también
Se aplica a
CreateDelegate(Type, MethodInfo, Boolean)
- Source:
- Delegate.CoreCLR.cs
- Source:
- Delegate.CoreCLR.cs
- Source:
- Delegate.CoreCLR.cs
- Source:
- Delegate.CoreCLR.cs
- Source:
- Delegate.CoreCLR.cs
Crea un delegado del tipo especificado para representar el método estático especificado, con el comportamiento especificado en caso de error de enlace.
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
Que MethodInfo describe el método estático o de instancia que el delegado va a representar.
- throwOnBindFailure
- Boolean
true para producir una excepción si method no se puede enlazar; de lo contrario, false.
Devoluciones
Delegado del tipo especificado para representar el método estático especificado.
Excepciones
type no hereda MulticastDelegate.
-o-
typeno es .RuntimeType
-o-
method no se puede enlazar y throwOnBindFailure es true.
-o-
methodno es .RuntimeMethodInfo
No se encuentra el Invoke método de type .
El autor de la llamada no tiene los permisos necesarios para acceder methoda .
Comentarios
Esta sobrecarga de método puede crear delegados de método estático abiertos y delegados de métodos de instancia abiertos, es decir, delegados que exponen el primer argumento oculto de los métodos de instancia. Para obtener una explicación detallada, vea la sobrecarga del método más general CreateDelegate(Type, Object, MethodInfo, Boolean) , que permite crear todas las combinaciones de delegados abiertos o cerrados para los métodos estáticos o de instancia.
Nota
Esta sobrecarga de método se debe usar cuando el delegado no se cierra sobre su primer argumento, ya que es algo más rápido en ese caso.
Para obtener ejemplos, consulte Comentarios complementarios de api para System.Delegate.CreateDelegate.
Consulte también
Se aplica a
CreateDelegate(Type, Object, String)
- Source:
- Delegate.cs
- Source:
- Delegate.cs
- Source:
- Delegate.cs
- Source:
- Delegate.cs
- Source:
- Delegate.cs
Crea un delegado del tipo especificado que representa el método de instancia especificado que se va a invocar en la instancia de clase especificada.
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
Parámetros
- target
- Object
Instancia de clase en la que method se invoca.
- method
- String
Nombre del método de instancia que el delegado va a representar.
Devoluciones
Delegado del tipo especificado que representa el método de instancia especificado que se va a invocar en la instancia de clase especificada.
- Atributos
Excepciones
type no hereda MulticastDelegate.
-o-
typeno es .RuntimeType
-o-
method no es un método de instancia.
-o-
method no se puede enlazar, por ejemplo, porque no se encuentra.
No se encuentra el Invoke método de type .
El autor de la llamada no tiene los permisos necesarios para acceder methoda .
Comentarios
Este método crea delegados solo para métodos de instancia. Un método de instancia es un método asociado a una instancia de una clase; un método estático es un método asociado a la propia clase.
Esta sobrecarga de método es equivalente a llamar a la sobrecarga del CreateDelegate(Type, Object, String, Boolean, Boolean) método, especificando false para ignoreCase y true para throwOnBindFailure.
Consulte también
Se aplica a
CreateDelegate(Type, Object, MethodInfo)
- Source:
- Delegate.cs
- Source:
- Delegate.cs
- Source:
- Delegate.cs
- Source:
- Delegate.cs
- Source:
- Delegate.cs
Crea un delegado del tipo especificado que representa el método estático o de instancia especificado, con el primer 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
Objeto al que está enlazado el delegado o null para tratar method como static (Shared en Visual Basic).
- method
- MethodInfo
Que MethodInfo describe el método estático o de instancia que el delegado va a representar.
Devoluciones
Delegado del tipo especificado que representa el método estático o de instancia especificado.
Excepciones
type no hereda MulticastDelegate.
-o-
typeno es .RuntimeType
-o-
method no se puede enlazar.
-o-
methodno es .RuntimeMethodInfo
No se encuentra el Invoke método de type .
El autor de la llamada no tiene los permisos necesarios para acceder methoda .
Comentarios
Llamar a esta sobrecarga de método equivale a llamar a la sobrecarga del CreateDelegate(Type, Object, MethodInfo, Boolean) método y especificar true para throwOnBindFailure. Estas dos sobrecargas proporcionan la manera más flexible de crear delegados. Puede usarlos para crear delegados para métodos estáticos o de instancia y, opcionalmente, para especificar el primer argumento.
Nota
Si no proporciona un primer argumento, use la sobrecarga del método para mejorar el CreateDelegate(Type, MethodInfo) rendimiento.
Para obtener más información sobre esta API, consulte Comentarios de API complementarias para System.Delegate.CreateDelegate.
Consulte también
Se aplica a
CreateDelegate(Type, MethodInfo)
- Source:
- Delegate.cs
- Source:
- Delegate.cs
- Source:
- Delegate.cs
- Source:
- Delegate.cs
- Source:
- Delegate.cs
Crea un delegado del tipo especificado para representar el 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
Que MethodInfo describe el método estático o de instancia que el delegado va a representar.
Devoluciones
Delegado del tipo especificado para representar el método especificado.
Excepciones
type no hereda MulticastDelegate.
-o-
typeno es .RuntimeType
-o-
method no se puede enlazar.
-o-
methodno es .RuntimeMethodInfo
No se encuentra el Invoke método de type .
El autor de la llamada no tiene los permisos necesarios para acceder methoda .
Comentarios
Esta sobrecarga puede crear delegados para métodos estáticos y delegados de métodos de instancia abiertos; es decir, delegados que proporcionan explícitamente el primer argumento oculto de los métodos de instancia. Para obtener una explicación detallada, vea la sobrecarga del método más general CreateDelegate(Type, Object, MethodInfo) , que permite crear todas las combinaciones de delegados abiertos o cerrados para los métodos estáticos o de instancia y, opcionalmente, especificar un primer argumento.
Nota
Esta sobrecarga de método se debe usar cuando el delegado no se cierra sobre su primer argumento, ya que es algo más rápido en ese caso.
Para obtener más información sobre esta API, consulte Comentarios de API complementarias para System.Delegate.CreateDelegate.
Consulte también
Se aplica a
CreateDelegate(Type, Type, String)
- Source:
- Delegate.cs
- Source:
- Delegate.cs
- Source:
- Delegate.cs
- Source:
- Delegate.cs
- Source:
- Delegate.cs
Crea un delegado del tipo especificado que representa el método estático especificado de la clase especificada.
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
Parámetros
- method
- String
Nombre del método estático que el delegado va a representar.
Devoluciones
Delegado del tipo especificado que representa el método estático especificado de la clase especificada.
- Atributos
Excepciones
type no hereda MulticastDelegate.
-o-
typeno es .RuntimeType
-o-
targetno es .RuntimeType
-o-
target es un tipo genérico abierto. Es decir, su ContainsGenericParameters propiedad es true.
-o-
method no es un método static (Shared método en Visual Basic).
No se encuentra el Invoke método de type .
El autor de la llamada no tiene los permisos necesarios para acceder methoda .
Comentarios
Este método crea delegados solo para métodos estáticos. Un método de instancia es un método asociado a una instancia de una clase; un método estático es un método asociado a la propia clase.
Esta sobrecarga de método es equivalente a llamar a la sobrecarga del CreateDelegate(Type, Type, String, Boolean, Boolean) método, especificando false para ignoreCase y true para throwOnBindFailure.