Есть ли эквивалент typedef в С# или каким-то образом получить какое-то подобное поведение? Я сделал какой-то поисковик, но везде, где я выгляжу, кажется отрицательным. В настоящее время у меня есть ситуация, аналогичная следующей:
class GenericClass<T>
{
public event EventHandler<EventData> MyEvent;
public class EventData : EventArgs { /* snip */ }
// ... snip
}
Теперь ученым-ракетом не требуется выяснять, что это может очень быстро привести к большому набору (извинения за ужасный каламбур) при попытке реализовать обработчик для этого события. В итоге это будет выглядеть примерно так:
GenericClass<int> gcInt = new GenericClass<int>;
gcInt.MyEvent += new EventHandler<GenericClass<int>.EventData>(gcInt_MyEvent);
// ...
private void gcInt_MyEvent(object sender, GenericClass<int>.EventData e)
{
throw new NotImplementedException();
}
За исключением, в моем случае, я уже использовал сложный тип, а не только int. Было бы неплохо, если бы можно было немного упростить это...
Изменить: т.е. возможно, навязывание EventHandler вместо необходимости переопределять его для получения аналогичного поведения.