title: Is it poor form for a C# class to subscribe to its own published events?
body: <p>I'm probably just being neurotic, but I regularly find myself in situations in which I have class that publishes an event, and I find it convenient to subscribe to this event from within the class itself (e.g. in the constructor), rather than only subscribing from external classes.</p>
  
  <p>This sounds reasonable to me, but I can't help the nagging feeling that it's a poor practice, for the simple reason that I'm always faced with the question: "Why not perform the actions that you'd provide in the event handler in the code which fires the event?"</p>
  
  <pre><code>public class Button
  {
     public Button()
     {
        this.Click += someHandler; // bad practice?
     }
  
     public event EventHandler Click;
  
     public void HandleInput()
     {
        if (someInputCondition)
        {
           // Perform necessary actions here rather than 
           // subscribing in the constructor?
           this.Click(this, ...);
        }
     }
  }
  </code></pre>
  
  <p>Are there any drawbacks to subscribing to your own events?</p>