How to perform conversion from object reference
<pre><code>class Mock
{
    public static explicit operator String(Mock s)
    {
        return "ok";
    }
}

static T GetValue&lt;T&gt;(object o)
{
    return (T)o;
}

Mock m = new Mock();
var v1 = (string) m;
var v2 = GetValue&lt;string&gt;(m);   // InvalidCastException is thrown.
                                // How to modify GetValue method
                                // internally, without changing its
                                // signature, for this casting to work ?
</code></pre>

<p>Regards</p>
