C# - Casting EventArgs to a generic Event type
<p>I'm working on a game just for fun, I'm attempting to implement events but I get the error:</p>

<blockquote>
  <p>Error CS0305: Using the generic type 'Game.NPC.Events.MurderEventArgs' requires 2 type arguments (CS0305) (Game)</p>
</blockquote>

<p>The code which is raising the event:</p>

<pre><code>public event EventHandler&lt;EventArgs&gt; OnMurderEvent;

public void RaiseMurderEvent&lt;TVictim, TMurderer&gt;(TVictim npcVictim, TMurderer npcMurderer)
{
    if (OnMurderEvent != null)
    {
        OnMurderEvent(this, new MurderEventArgs&lt;TVictim, TMurderer&gt;(npcVictim, npcMurderer));
    }
}
</code></pre>

<p>My code which is handling the event:</p>

<pre><code>npc.OnMurderEvent += HandleMurderEvent;
npc.RaiseMurderEvent&lt;Victim, Murderer&gt;(null, null);

static void HandleMurderEvent(object sender, EventArgs e)
{
    Console.WriteLine((MurderEventArgs)e);
}
</code></pre>

<p>The casting won't work because it doesn't have the generic types, can anybody help?</p>