EventInfo.EventHandlerType EventInfo.EventHandlerType EventInfo.EventHandlerType EventInfo.EventHandlerType Property

정의

이 이벤트와 연결된 내부 이벤트 처리기 대리자의 Type 개체를 가져옵니다. Gets the Type object of the underlying event-handler delegate associated with this event.

public:
 virtual property Type ^ EventHandlerType { Type ^ get(); };
public virtual Type EventHandlerType { get; }
member this.EventHandlerType : Type
Public Overridable ReadOnly Property EventHandlerType As Type

속성 값

대리자 이벤트 처리기를 나타내는 읽기 전용 Type 개체입니다. A read-only Type object representing the delegate event handler.

구현

예외

호출자에게 필요한 권한이 없는 경우 The caller does not have the required permission.

예제

다음 예제에서는 EventHandlerType 속성 이벤트의 대리자 형식을 검색 하 고 해당 매개 변수 형식이 표시할 수 있습니다.The following example uses the EventHandlerType property to discover the delegate type of an event and to display its parameter types.

이 예제에서는 명명 된 대리자를 정의 합니다. MyDelegate 명명 된 이벤트 ev 형식의 MyDelegate합니다.The example defines a delegate named MyDelegate and an event named ev of type MyDelegate. 코드를 Main 메서드 이벤트 시그니처를 대리자 형식의 이벤트를 가져와서 검색 가져오기는 Invoke 메서드는 대리자 형식으로 다음 검색 및 매개 변수를 표시 합니다.The code in the Main method discovers the event signature by getting the delegate type of the event, getting the Invoke method of the delegate type, and then retrieving and displaying the parameters.

// The following example uses instances of classes in
// the System::Reflection namespace to discover an event argument type.
using namespace System;
using namespace System::Reflection;

public delegate void MyDelegate( int i );
public ref class MainClass
{
public:
   event MyDelegate^ ev;
};

int main()
{
   Type^ delegateType = MainClass::typeid->GetEvent( "ev" )->EventHandlerType;
   MethodInfo^ invoke = delegateType->GetMethod( "Invoke" );
   array<ParameterInfo^>^pars = invoke->GetParameters();
   System::Collections::IEnumerator^ myEnum = pars->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      ParameterInfo^ p = safe_cast<ParameterInfo^>(myEnum->Current);
      Console::WriteLine( p->ParameterType );
   }
}
// The example displays the following output:
//       System.Int32
// The following example uses instances of classes in 
// the System.Reflection namespace to discover an event argument type.
using System;
using System.Reflection;

public delegate void MyDelegate(int i);
public class MainClass 
{
    public event MyDelegate ev;

    public static void Main() 
    {
        Type delegateType = typeof(MainClass).GetEvent("ev").EventHandlerType;
        MethodInfo invoke = delegateType.GetMethod("Invoke");
        ParameterInfo[] pars = invoke.GetParameters();
        foreach (ParameterInfo p in pars) 
        {
            Console.WriteLine(p.ParameterType);
        }
    }
}
// The example displays the following output:
//       System.Int32
Imports System.Reflection

Public Delegate Sub MyDelegate(ByVal i As Integer)

Public Class MainClass
    Public Event ev As MyDelegate

    Public Shared Sub Main()
        Dim delegateType As Type = GetType(MainClass).GetEvent("ev").EventHandlerType
        Dim invoke As MethodInfo = delegateType.GetMethod("Invoke")
        Dim pars As ParameterInfo() = invoke.GetParameters()
        For Each p As ParameterInfo In pars
            Console.WriteLine(p.ParameterType)
        Next 
    End Sub 
End Class 
' The example displays the following output:
'     System.Int32

적용 대상

추가 정보