TEventArgs
- это параметр общего типа - но он имеет ограничение. Фактическая подпись:
[Serializable]
public delegate void EventHandler<TEventArgs>(object sender, TEventArgs e)
where TEventArgs : EventArgs
Бит "where TEventArgs : EventArgs
" является ограничением типа, что означает, что вы можете предоставить только аргумент типа для TEventArgs
, который является EventArgs
или производным классом.
По сути, это просто "обычные" обобщения C #, которые применяются только к объявлению делегата.