title: C# clone EventHandler
body: <p>I have a class with multiple EventHandlers (among other things):</p>
  
  <pre><code>public GameObject
  {
      public event EventHandler&lt;EventArgs&gt; Initialize;
      public event EventHandler&lt;EventArgs&gt; BeginStep;
      ....
  }
  </code></pre>
  
  <p>I want to be able to add a <code>Clone()</code> function to GameObject, which returns an exact duplicate of the object it was called on. I tried doing it like this:</p>
  
  <pre><code>    public GameObject Clone()
      {
          var clone = new GameObject()
          {
              Initialize = this.Initialize,
              BeginStep = this.BeginStep,
          };
      }
  </code></pre>
  
  <p>But, it appears that it is making <code>clone.BeginStep</code> point to the same object as <code>this.BeginStep</code> instead of making a copy. So, how do I make a copy of an EventHandler object?</p>