Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Type.GetEvent (Método) (String, BindingFlags)

Cuando se invalida en una clase derivada, devuelve el objeto EventInfo que representa el evento especificado y aplica las restricciones de enlace especificadas.

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)

public abstract EventInfo GetEvent(
	string name,
	BindingFlags bindingAttr
)

Parámetros

name
Tipo: System.String
Cadena que contiene el nombre de un evento que la clase Type actual declara o hereda.
bindingAttr
Tipo: System.Reflection.BindingFlags
Máscara de bits formada por una o varias enumeraciones BindingFlags que especifican la forma en que se realiza la búsqueda.
O bien
Cero, para devolver null.

Valor devuelto

Tipo: System.Reflection.EventInfo
Objeto que representa el evento especificado que declara o hereda el Type actual, si se encuentra; de lo contrario, es null.

Implementaciones

_Type.GetEvent(String, BindingFlags)

ExcepciónCondición
ArgumentNullException

name es null.

Las siguientes marcas de filtro BindingFlags pueden utilizarse para definir los eventos que van a incluirse en la búsqueda:

  • Especifique BindingFlags.Instance o BindingFlags.Static para obtener un valor devuelto.

  • Especifique BindingFlags.Public para incluir eventos públicos en la búsqueda.

  • Especifique BindingFlags.NonPublic para incluir eventos no públicos (es decir, eventos privados, internos y protegidos) en la búsqueda.

  • Especifique BindingFlags.FlattenHierarchy para incluir los miembros estáticos public y protected en la jerarquía; no se incluyen los miembros estáticos private de las clases heredadas.

Las siguientes marcas de modificación BindingFlags pueden utilizarse para cambiar la forma en que se lleva a cabo la búsqueda:

  • BindingFlags.IgnoreCase para pasar por alto la distinción entre mayúsculas y minúsculas de name.

  • BindingFlags.DeclaredOnly para buscar solo los eventos declarados en Type, no los eventos simplemente heredados.

Para obtener más información, vea System.Reflection.BindingFlags.

Se considera que un evento es público para la reflexión si tiene al menos un método o un descriptor de acceso que es público. De lo contrario el evento se considera privado y se debe usar BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static (en Visual Basic, combine los valores mediante Or) para obtenerlo.

Si el objeto Type actual representa un tipo genérico construido, este método devuelve EventInfo con los parámetros de tipo sustituidos por los argumentos de tipo adecuados.

Si el objeto Type actual representa un parámetro de tipo en la definición de un tipo genérico o de un método genérico, este método busca los eventos de la restricción de clase.

En el ejemplo de código siguiente se utiliza el método GetEvent(String, BindingFlags) para buscar un tipo para un evento público o no público denominado "Clic" que no sea static (Shared en Visual Basic).


using System;
using System.Reflection;
using System.Security;

class MyEventExample
{
    public static void Main()
    {  
        try
        {

            // Creates a bitmask based on BindingFlags.
            BindingFlags myBindingFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
            Type myTypeBindingFlags = typeof(System.Windows.Forms.Button);
            EventInfo myEventBindingFlags = myTypeBindingFlags.GetEvent("Click", myBindingFlags);
            if(myEventBindingFlags != null)
            {
                Console.WriteLine("Looking for the Click event in the Button class with the specified BindingFlags.");
                Console.WriteLine(myEventBindingFlags.ToString());
            }
            else
                Console.WriteLine("The Click event is not available with the Button class.");
        }
        catch(SecurityException e)
        {
            Console.WriteLine("An exception occurred.");
            Console.WriteLine("Message :"+e.Message);
        }
        catch(ArgumentNullException e)
        {
            Console.WriteLine("An exception occurred.");
            Console.WriteLine("Message :"+e.Message);
        }
        catch(Exception e)
        {
            Console.WriteLine("The following exception was raised : {0}",e.Message);
        }
    }
}


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft