Прочитать на английском

Поделиться через


EventInfo.EventHandlerType Свойство

Определение

Получает объект Type базового делегата обработчика событий, связанного с данным событием.

public virtual Type EventHandlerType { get; }
public virtual Type? EventHandlerType { get; }
public Type EventHandlerType { get; }

Значение свойства

Объект Type с доступом только для чтения, представляющий обработчик событий делегата.

Реализации

Исключения

У вызывающего объекта отсутствует необходимое разрешение.

Примеры

В следующем примере свойство используется EventHandlerType для обнаружения типа делегата события и отображения его типов параметров.

В примере определяется делегат с именем MyDelegate и событие ev типа MyDelegate. Код в методе Main обнаруживает сигнатуру события, получая тип делегата события, получая Invoke метод типа делегата, а затем извлекая и отображая параметры.

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

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

См. также раздел