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
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
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);
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
Instancia de clase en la que se invoca method
.
- 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
iniciar una excepción si no se puede enlazar method
; 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.
Excepciones
type
no hereda MulticastDelegate.
-o-
type
no es un RuntimeType
. Consulte tipos en tiempo de ejecución en reflection.
-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 método Invoke
de type
.
El autor de la llamada no tiene los permisos necesarios para acceder a method
.
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
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);
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.
Excepciones
type
no hereda MulticastDelegate.
-o-
type
no es un RuntimeType
. Consulte tipos en tiempo de ejecución en reflection.
-o-
target
no es un RuntimeType
.
-o-
target
es un tipo genérico abierto. Es decir, su propiedad ContainsGenericParameters 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 método Invoke
de type
.
El autor de la llamada no tiene los permisos necesarios para acceder a method
.
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 método CreateDelegate(Type, Type, String, Boolean, Boolean), especificando true
para throwOnBindFailure
.
Consulte también
Se aplica a
CreateDelegate(Type, Object, String, Boolean)
- 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);
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
Instancia de clase en la que se invoca method
.
- 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.
Excepciones
type
no hereda MulticastDelegate.
-o-
type
no es un RuntimeType
. Consulte tipos en tiempo de ejecución en reflection.
-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 método Invoke
de type
.
El autor de la llamada no tiene los permisos necesarios para acceder a method
.
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 método CreateDelegate(Type, Object, String, Boolean, Boolean), 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
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
Un Object que 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
El MethodInfo que describe el método estático o de instancia que el delegado va a representar.
- throwOnBindFailure
- Boolean
true
iniciar una excepción si no se puede enlazar method
; 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-
type
no es un RuntimeType
. Consulte tipos en tiempo de ejecución en reflection.
-o-
method
no se puede enlazar y throwOnBindFailure
es true
.
-o-
method
no es un RuntimeMethodInfo
. Consulte tipos en tiempo de ejecución en reflection.
No se encuentra el método Invoke
de type
.
El autor de la llamada no tiene los permisos necesarios para acceder a method
.
Comentarios
Esta sobrecarga de método y la sobrecarga del método CreateDelegate(Type, Object, MethodInfo), 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 CreateDelegate(Type, MethodInfo, Boolean) para mejorar el rendimiento.
Para obtener más información y ejemplos, vea comentarios de API complementarias 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
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);
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
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
iniciar una excepción si no se puede enlazar method
; de lo contrario, false
.
Devoluciones
Delegado del tipo especificado que representa el método estático especificado de la clase especificada.
Excepciones
type
no hereda MulticastDelegate.
-o-
type
no es un RuntimeType
. Consulte tipos en tiempo de ejecución en reflection.
-o-
target
no es un RuntimeType
.
-o-
target
es un tipo genérico abierto. Es decir, su propiedad ContainsGenericParameters 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 método Invoke
de type
.
El autor de la llamada no tiene los permisos necesarios para acceder a method
.
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
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
El MethodInfo que describe el método estático o de instancia que el delegado va a representar.
- throwOnBindFailure
- Boolean
true
iniciar una excepción si no se puede enlazar method
; de lo contrario, false
.
Devoluciones
Delegado del tipo especificado para representar el método estático especificado.
Excepciones
type
no hereda MulticastDelegate.
-o-
type
no es un RuntimeType
. Consulte tipos en tiempo de ejecución en reflection.
-o-
method
no se puede enlazar y throwOnBindFailure
es true
.
-o-
method
no es un RuntimeMethodInfo
. Consulte tipos en tiempo de ejecución en reflection.
No se encuentra el método Invoke
de type
.
El autor de la llamada no tiene los permisos necesarios para acceder a method
.
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, consulte la sobrecarga del método de CreateDelegate(Type, Object, MethodInfo, Boolean) más general, 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 de API complementarias para System.Delegate.CreateDelegate.
Consulte también
Se aplica a
CreateDelegate(Type, Object, String)
- 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);
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
Instancia de clase en la que se invoca method
.
- 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.
Excepciones
type
no hereda MulticastDelegate.
-o-
type
no es un RuntimeType
. Consulte tipos en tiempo de ejecución en reflection.
-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 método Invoke
de type
.
El autor de la llamada no tiene los permisos necesarios para acceder a method
.
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 método CreateDelegate(Type, Object, String, Boolean, Boolean), 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
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
tratar method
como static
(Shared
en Visual Basic).
- method
- MethodInfo
El MethodInfo que 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-
type
no es un RuntimeType
. Consulte tipos en tiempo de ejecución en reflection.
-o-
method
no se puede enlazar.
-o-
method
no es un RuntimeMethodInfo
. Consulte tipos en tiempo de ejecución en reflection.
No se encuentra el método Invoke
de type
.
El autor de la llamada no tiene los permisos necesarios para acceder a method
.
Comentarios
Llamar a esta sobrecarga de método equivale a llamar a la sobrecarga del método CreateDelegate(Type, Object, MethodInfo, Boolean) 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 CreateDelegate(Type, MethodInfo) para mejorar el 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
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
El MethodInfo que 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-
type
no es un RuntimeType
. Consulte tipos en tiempo de ejecución en reflection.
-o-
method
no se puede enlazar.
-o-
method
no es un RuntimeMethodInfo
. Consulte tipos en tiempo de ejecución en reflection.
No se encuentra el método Invoke
de type
.
El autor de la llamada no tiene los permisos necesarios para acceder a method
.
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 de CreateDelegate(Type, Object, MethodInfo) más general, 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
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);
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.
Excepciones
type
no hereda MulticastDelegate.
-o-
type
no es un RuntimeType
. Consulte tipos en tiempo de ejecución en reflection.
-o-
target
no es un RuntimeType
.
-o-
target
es un tipo genérico abierto. Es decir, su propiedad ContainsGenericParameters es true
.
-o-
method
no es un método static
(Shared
método en Visual Basic).
No se encuentra el método Invoke
de type
.
El autor de la llamada no tiene los permisos necesarios para acceder a method
.
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 método CreateDelegate(Type, Type, String, Boolean, Boolean), especificando false
para ignoreCase
y true
para throwOnBindFailure
.