EventInfo.EventHandlerType Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u het Type object op van de gedelegeerde van de onderliggende gebeurtenis-handler die aan deze gebeurtenis is gekoppeld.
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
Waarde van eigenschap
Een alleen-lezenobject Type dat de gebeurtenis-handler voor gedelegeerden vertegenwoordigt.
Implementeringen
Uitzonderingen
De beller heeft niet de vereiste machtiging.
Voorbeelden
In het volgende voorbeeld wordt de EventHandlerType eigenschap gebruikt om het gemachtigde type van een gebeurtenis te detecteren en de parametertypen weer te geven.
In het voorbeeld wordt een gemachtigde gedefinieerd met de naam MyDelegate en een gebeurtenis met de naam ev van het type MyDelegate. De code in de Main methode detecteert de gebeurtenishandtekening door het gedelegeerdetype van de gebeurtenis op te halen, de Invoke methode van het type gedelegeerde op te halen en vervolgens de parameters op te halen en weer te geven.
// 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