title: Event default initializer
body: <p>I used to utilize the following:</p>
  
  <pre><code>public event EventHandler OnComplete = delegate { };
  </code></pre>
  
  <p>I'm not sure, how this is called, is this an "event default initializer"??</p>
  
  <p>But the problem appeared to be when I derived from EventArgs, created my own EventHandler and decided to use the same approach. Please, see:</p>
  
  <pre><code>public class MyEventArgs : EventArgs
  {
      int result;
      public int Result
      {
          get
          {
              if (exceptionObject == null)
                  return result;
              else
                  throw new InvalidOperationException();
          }
          internal set { result = value; }
      }
  
      Exception exceptionObject;
      public Exception ExceptionObject
      {
          get { return exceptionObject; }
          internal set { exceptionObject = value; }
      }
  }
  
  public delegate EventHandler MyEventHandler(object sender, MyEventArgs e);
  
  public class MyOperation
  {
      public event MyEventHandler OnOperationComplete = delegate { };
  }
  </code></pre>
  
  <p>So, the line</p>
  
  <pre><code>public event MyEventHandler OnOperationComplete = delegate { };
  </code></pre>
  
  <p>causes the problem.</p>
  
  <p>How can I make the proper default initialization for "my" events?</p>