Possible to cast to interface that isn't inherited?
<p>Why isn't it possible to cast an instance of:</p>

<pre><code>sealed class Foo
{
    public void Go() { }
}
</code></pre>

<p>...to this interface:</p>

<pre><code>interface IBar
{
    void Go();
}
</code></pre>

<p>...even though <code>Foo</code> has the signature of <code>IBar</code>?</p>

<p>How can I turn an instance of <code>Foo</code> into an <code>IBar</code>? Assume I have no control over <code>Foo</code>.</p>