How can this work (static extension?)
<p>I saw this in a answer by Marc Gravell, and I just don't see how it would work</p>

<pre><code>static bool IsNullOrEmpty(this string value)
{    
    return string.IsNullOrEmpty(value);
}
</code></pre>

<p>Shouldn't a call to s.IsNullOrEmpty() where s is null, then return a NullReferenceException?  How can you de-reference the object to call the function defined here if the object is null?</p>

<p>Or is this some way to end-around monkey patching a static function?</p>
