EventInfo.EventHandlerType Egenskap

Definition

Hämtar objektet för Type den underliggande händelsehanterardelegaten som är associerad med den här händelsen.

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

Egenskapsvärde

Ett skrivskyddat Type objekt som representerar ombudets händelsehanterare.

Implementeringar

Undantag

Anroparen har inte den behörighet som krävs.

Exempel

I följande exempel används EventHandlerType egenskapen för att identifiera ombudstypen för en händelse och för att visa dess parametertyper.

Exemplet definierar ett ombud med namnet MyDelegate och en händelse med namnet ev av typen MyDelegate. Koden i Main metoden identifierar händelsesignaturen genom att hämta händelsens ombudstyp, hämta Invoke metoden för ombudstypen och sedan hämta och visa parametrarna.

// 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

Gäller för

Se även