Ну, вам нужно определить аргументы и, возможно, делегировать куда-нибудь. Вам не нужен второй файл, но я, вероятно, рекомендую его ... но классы, вероятно, не должны быть вложенными , если бы это была первоначальная проблема.
Рекомендуется использовать стандартный шаблон «отправитель, аргументы»; Есть два подхода cmmon:
1: объявить класс event-args отдельно и использовать EventHandler<T>
в интерфейсе:
public class MySpecialEventArgs : EventArgs {...}
...
EventHandler<MySpecialEventArgs> MyEvent;
2: объявлять класс event-args и тип делегата отдельно:
public class MySpecialEventArgs : EventArgs {...}
public delegate void MySpecialEventHandler(object sender,
MySpecialEventArgs args);
....
event MySpecialEventHandler MyEvent;