Событие с использованием универсального EventHandler <> не отображается в Designer - PullRequest
4 голосов
/ 16 сентября 2010

Я только что заметил, что если я добавляю событие с помощью универсального обработчика событий в свой UserControl, это событие не отображается в конструкторе, когда я добавляю пользовательский элемент управления в форму.

public event EventHandler<TEventArgs<int>> EventNotVisibleInDesigner;
public event EventHandler EventVisibleInDesigner;

Неособенно тревожит, но это заведомо / нормально, или я что-то не так делаю?

1 Ответ

7 голосов
/ 16 сентября 2010

Конструктор Windows Forms имеет ограниченную поддержку универсальных типов. Это будет работать нормально, если вы избежите аргумента универсального типа для EventHandler<T>:

    public class TEventArgs<T> : EventArgs { }
    public class MyEventArgs : TEventArgs<int> { }
    public event EventHandler<MyEventArgs> EventNowAlsoVisibleInDesigner;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...