Do I *always* have to check for null after a safe cast?
<p>Quick question; do I always need to check for a null value after performing a safe cast?  I do it this way now, but in a situation like this:</p>

<pre><code>void button1_Click(object sender, EventArgs e)
{
    Button = sender as Button;
    if (button != null)  // &lt;-- necessary?
    {
        // do stuff with 'button'
    }
}
</code></pre>

<p>I am just wondering if I am not thinking of something.  I check for null every time out of habit, but in a case like this I think that I would prefer a crash if a non-Button object was hooked up to a handler that should only be for buttons.  </p>

<p>EDIT:  OK, thanks guys.  I was just curious if there was an angle that I was missing.</p>
