EventInfo Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Descobre os atributos de um evento e fornece acesso aos metadados do evento.
public ref class EventInfo abstract : System::Reflection::MemberInfo
public ref class EventInfo abstract : System::Reflection::MemberInfo, System::Runtime::InteropServices::_EventInfo
public abstract class EventInfo : System.Reflection.MemberInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public abstract class EventInfo : System.Reflection.MemberInfo, System.Runtime.InteropServices._EventInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public abstract class EventInfo : System.Reflection.MemberInfo, System.Runtime.InteropServices._EventInfo
type EventInfo = class
inherit MemberInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type EventInfo = class
inherit MemberInfo
interface _EventInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type EventInfo = class
inherit MemberInfo
interface _EventInfo
Public MustInherit Class EventInfo
Inherits MemberInfo
Public MustInherit Class EventInfo
Inherits MemberInfo
Implements _EventInfo
- Herança
- Derivado
- Atributos
- Implementações
Exemplos
O código seguinte recebe um EventInfo objeto para o Click evento da Button classe.
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);
}
}
}
Imports System.Reflection
Imports System.Security
' Compile this sample using the following command line:
' vbc type_getevent.vb /r:"System.Windows.Forms.dll" /r:"System.dll"
Class MyEventExample
Public Shared Sub Main()
Try
' Creates a bitmask comprising BindingFlags.
Dim myBindingFlags As BindingFlags = BindingFlags.Instance Or BindingFlags.Public _
Or BindingFlags.NonPublic
Dim myTypeBindingFlags As Type = GetType(System.Windows.Forms.Button)
Dim myEventBindingFlags As EventInfo = myTypeBindingFlags.GetEvent("Click", myBindingFlags)
If myEventBindingFlags IsNot Nothing Then
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.")
End If
Catch e As SecurityException
Console.WriteLine("An exception occurred.")
Console.WriteLine("Message :" + e.Message)
Catch e As ArgumentNullException
Console.WriteLine("An exception occurred.")
Console.WriteLine("Message :" + e.Message)
Catch e As Exception
Console.WriteLine("The following exception was raised : {0}", e.Message)
End Try
End Sub
End Class
Observações
Use a EventInfo classe para inspecionar eventos e para ligar handlers de eventos, como mostrado no código de exemplo do AddEventHandler método.
Note
EventInfo não se destina a ser usado para levantar eventos. Um objeto levanta eventos conforme ditado pelo seu estado interno.
Os eventos são utilizados com delegados. Um ouvinte de eventos instancia um delegado handler de eventos que é invocado sempre que o evento é levantado por uma fonte de eventos. Para se ligar à fonte de eventos, o ouvinte de eventos adiciona este delegado à lista de invocações na fonte. Quando o evento é levantado, é chamado o método de invocação do delegado handler de eventos. São suportadas notificações de eventos multicast e single-cast. Os Add métodos and Remove , bem como a classe delegada do handler de eventos associada a um evento, devem ser marcados nos metadados.
Os delegados são ponteiros de função orientados a objetos. Em C ou C++, um ponteiro de função é uma referência a um método. Em contraste com o ponteiro de funções em C ou C++, um delegado contém duas referências: uma referência a um método e uma referência a um objeto que suporta o método. Os delegados podem invocar um método sem saber o tipo de classe que declara ou herda o método. Os delegados só precisam de conhecer o tipo de retorno e a lista de parâmetros do método.
O modelo de evento funciona igualmente bem para delegados single-cast e multicast. Quando o método de invocação do delegado é chamado, apenas um único objeto terá um método chamado sobre ele. Um modificador multicast pode ser aplicado a uma declaração de delegado, que permite chamar múltiplos métodos quando o método de invocação do delegado é chamado.
Chamar ICustomAttributeProvider.GetCustomAttributes quando EventInfo o inherit parâmetro de GetCustomAttributes é true não percorre a hierarquia de tipos. Usar System.Attribute para herdar atributos personalizados.
Notas para Implementadores
Quando herdas de EventInfo, deves sobrepor os seguintes membros: GetAddMethod(Boolean), GetRemoveMethod(Boolean), e GetRaiseMethod(Boolean).
Construtores
| Name | Description |
|---|---|
| EventInfo() |
Inicializa uma nova instância da |
Propriedades
| Name | Description |
|---|---|
| AddMethod |
Obtém o MethodInfo objeto do AddEventHandler(Object, Delegate) método do evento, incluindo métodos não públicos. |
| Attributes |
Obtém os atributos para este evento. |
| CustomAttributes |
Obtém uma coleção que contém os atributos personalizados deste membro. (Herdado de MemberInfo) |
| DeclaringType |
Recebe a classe que declara esse membro. (Herdado de MemberInfo) |
| EventHandlerType |
Obtém o |
| IsMulticast |
Recebe um valor que indica se o evento é multicast. |
| IsSpecialName |
Obtém um valor que indica se tem |
| MemberType |
Recebe um MemberTypes valor que indica que este membro é um evento. |
| MetadataToken |
Obtém um valor que identifica um elemento de metadados. (Herdado de MemberInfo) |
| Module |
Obtém o módulo em que o tipo que declara o elemento representado pela corrente MemberInfo está definido. (Herdado de MemberInfo) |
| Name |
Fica com o nome do membro atual. (Herdado de MemberInfo) |
| RaiseMethod |
Obtém o método que é chamado quando o evento é levantado, incluindo métodos não públicos. |
| ReflectedType |
Obtém o objeto de classe que foi usado para obter esta instância de |
| RemoveMethod |
Obtém o |
Métodos
| Name | Description |
|---|---|
| AddEventHandler(Object, Delegate) |
Adiciona um gestor de eventos a uma fonte de eventos. |
| Equals(Object) |
Devolve um valor que indica se esta instância é igual a um objeto especificado. |
| GetAddMethod() |
Devolve o método usado para adicionar um delegado handler de eventos à fonte do evento. |
| GetAddMethod(Boolean) |
Quando sobreposto numa classe derivada, recupera o |
| GetCustomAttributes(Boolean) |
Quando sobrescrito numa classe derivada, devolve um array de todos os atributos personalizados aplicados a este membro. (Herdado de MemberInfo) |
| GetCustomAttributes(Type, Boolean) |
Quando sobrescrito numa classe derivada, devolve um array de atributos personalizados aplicados a este membro e identificados por Type. (Herdado de MemberInfo) |
| GetCustomAttributesData() |
Devolve uma lista de CustomAttributeData objetos que representam dados sobre os atributos que foram aplicados ao membro alvo. (Herdado de MemberInfo) |
| GetHashCode() |
Devolve o código de hash para esta instância. |
| GetOtherMethods() |
Devolve os métodos públicos que foram associados a um evento nos metadados usando a |
| GetOtherMethods(Boolean) |
Devolve os métodos associados ao evento nos metadados usando a |
| GetRaiseMethod() |
Devolve o método que é chamado quando o evento é levantado. |
| GetRaiseMethod(Boolean) |
Quando sobrescrito numa classe derivada, devolve o método que é chamado quando o evento é levantado, especificando se deve devolver métodos não públicos. |
| GetRemoveMethod() |
Devolve o método usado para remover um delegado handler de eventos da origem do evento. |
| GetRemoveMethod(Boolean) |
Quando sobrescrito numa classe derivada, recupera o |
| GetType() |
Descobre os atributos de um evento de classe e fornece acesso aos metadados do evento. |
| HasSameMetadataDefinitionAs(MemberInfo) |
Descobre os atributos de um evento e fornece acesso aos metadados do evento. (Herdado de MemberInfo) |
| IsDefined(Type, Boolean) |
Quando sobrescrito numa classe derivada, indica se um ou mais atributos do tipo especificado ou dos seus tipos derivados são aplicados a este membro. (Herdado de MemberInfo) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| RemoveEventHandler(Object, Delegate) |
Remove um gestor de eventos de uma fonte de eventos. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Operadores
| Name | Description |
|---|---|
| Equality(EventInfo, EventInfo) |
Indica se dois EventInfo objetos são iguais. |
| Inequality(EventInfo, EventInfo) |
Indica se dois EventInfo objetos não são iguais. |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| _EventInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho. |
| _EventInfo.GetType() |
Devolve um |
| _EventInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera as informações de tipo de um objeto, que podem ser usadas para obter as informações de tipo para uma interface. |
| _EventInfo.GetTypeInfoCount(UInt32) |
Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1). |
| _EventInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acesso a propriedades e métodos expostos por um objeto. |
| _MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho. (Herdado de MemberInfo) |
| _MemberInfo.GetType() |
Obtém um Type objeto que representa a MemberInfo classe. (Herdado de MemberInfo) |
| _MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera as informações de tipo de um objeto, que podem ser usadas para obter as informações de tipo para uma interface. (Herdado de MemberInfo) |
| _MemberInfo.GetTypeInfoCount(UInt32) |
Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1). (Herdado de MemberInfo) |
| _MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acesso a propriedades e métodos expostos por um objeto. (Herdado de MemberInfo) |
| ICustomAttributeProvider.GetCustomAttributes(Boolean) |
Devolve um array de todos os atributos personalizados definidos neste membro, excluindo atributos nomeados, ou um array vazio se não existirem atributos personalizados. (Herdado de MemberInfo) |
| ICustomAttributeProvider.GetCustomAttributes(Type, Boolean) |
Devolve um array de atributos personalizados definidos neste membro, identificados pelo tipo, ou um array vazio se não existirem atributos personalizados desse tipo. (Herdado de MemberInfo) |
| ICustomAttributeProvider.IsDefined(Type, Boolean) |
Indica se uma ou mais instâncias de |
Métodos da Extensão
| Name | Description |
|---|---|
| GetAddMethod(EventInfo, Boolean) |
Descobre os atributos de um evento e fornece acesso aos metadados do evento. |
| GetAddMethod(EventInfo) |
Descobre os atributos de um evento e fornece acesso aos metadados do evento. |
| GetCustomAttribute(MemberInfo, Type, Boolean) |
Recupera um atributo personalizado de um tipo especificado que é aplicado a um membro especificado e, opcionalmente, inspeciona os antepassados desse membro. |
| GetCustomAttribute(MemberInfo, Type) |
Recupera um atributo personalizado de um tipo especificado que é aplicado a um membro especificado. |
| GetCustomAttribute<T>(MemberInfo, Boolean) |
Recupera um atributo personalizado de um tipo especificado que é aplicado a um membro especificado e, opcionalmente, inspeciona os antepassados desse membro. |
| GetCustomAttribute<T>(MemberInfo) |
Recupera um atributo personalizado de um tipo especificado que é aplicado a um membro especificado. |
| GetCustomAttributes(MemberInfo, Boolean) |
Recupera uma coleção de atributos personalizados que são aplicados a um membro especificado e, opcionalmente, inspeciona os antepassados desse membro. |
| GetCustomAttributes(MemberInfo, Type, Boolean) |
Recupera uma coleção de atributos personalizados de um tipo especificado que são aplicados a um membro especificado e, opcionalmente, inspeciona os antepassados desse membro. |
| GetCustomAttributes(MemberInfo, Type) |
Recupera uma coleção de atributos personalizados de um tipo especificado que são aplicados a um membro especificado. |
| GetCustomAttributes(MemberInfo) |
Recupera uma coleção de atributos personalizados que são aplicados a um membro especificado. |
| GetCustomAttributes<T>(MemberInfo, Boolean) |
Recupera uma coleção de atributos personalizados de um tipo especificado que são aplicados a um membro especificado e, opcionalmente, inspeciona os antepassados desse membro. |
| GetCustomAttributes<T>(MemberInfo) |
Recupera uma coleção de atributos personalizados de um tipo especificado que são aplicados a um membro especificado. |
| GetRaiseMethod(EventInfo, Boolean) |
Descobre os atributos de um evento e fornece acesso aos metadados do evento. |
| GetRaiseMethod(EventInfo) |
Descobre os atributos de um evento e fornece acesso aos metadados do evento. |
| GetRemoveMethod(EventInfo, Boolean) |
Descobre os atributos de um evento e fornece acesso aos metadados do evento. |
| GetRemoveMethod(EventInfo) |
Descobre os atributos de um evento e fornece acesso aos metadados do evento. |
| IsDefined(MemberInfo, Type, Boolean) |
Indica se atributos personalizados de um tipo especificado são aplicados a um membro especificado e, opcionalmente, aplicados aos seus antecessores. |
| IsDefined(MemberInfo, Type) |
Indica se atributos personalizados de um tipo especificado são aplicados a um membro especificado. |
Aplica-se a
Segurança de Thread
Este tipo é seguro para fios.