I understand the advantages of using the EventHandler/EventArgs pattern for events, it does however add a lot of overhead.
public class FooBarEventArgs : EventArgs
{
public int Arg1 { get; set; }
public string Arg2 { get; set; }
}
public event EventHandler<FooBarEventArgs> FooBar;
Would you break the event pattern for internal events?
internal event Action<int, string> FooBar;
Or would it be better to expose the delegate directly?
internal Action<int, string> FooBar;