UPDATE
, ; , -, , .
, , . , EventArgs . , .
,
class EventArgs1 : EventArgs {}
class EventArgsA : EventArgs1 {}
class EventArgsB : EventArgs1 {}
, , void Handle(object sender, EventArgsA args) void SomeEvent(object sender, EventArgs1 args). :
if (SomeEvent != null)
{
var args = new EventArgsB();
SomeEvent(this, args); //this line is perfectly legal, as EventArgsB inherits from EventArgs1.
}
, , args Handle(object, EventArgsA), , , , EventArgsB EventArgsA . . , , .