title: C# - How can I "overload" a delegate?
body: <p>First, I was reading some forums and the help in MSDN and all says that a delegate can't be overloaded.</p>
  
  <p>Now, I want to have something like this:</p>
  
  <pre><code>public delegate void OneDelegate();
  public delegate void OneDelegate(params object[] a);
  
  public void DoNothing(params object[] a) {}
  public void DoSomething() { /* do something */ }
  
  private OneDelegate someFunction;
  
  someFunction = new OneDelegate(DoSomething);
  someFunction = new OneDelegate(DoNothing);
  </code></pre>
  
  <p>So, like you know, you CAN'T do this, because OneDelegate only refers to the first one and not the second one. But, is there a way for doing this? or something like that?</p>
  
  <p>PS1: I want to have any number of OneDelegate declarations, not just one or two.</p>