Implicit cast operator from object
<p>I was wondering if someone could think of a nice workaround for not being able to add an implicit cast operator, for object, on your own class. The following example illustrates the kind of code I would like</p>

<pre><code>public class Response
{
    public string Contents { get; set; }

    public static implicit operator Response(object source)
    {
        return new Response { Contents = source.ToString(); };
    }
}
</code></pre>

<p>This won't compile because it upsets the C# compiler and it tells me</p>

<pre><code>user-defined conversions to or from a base class are not allowed
</code></pre>

<p>Turning response into Response and doing</p>

<pre><code>public static implicit operator Response&lt;T&gt;(T source)
</code></pre>

<p>is unfortunately not an option. My guess is going to be <em>no</em>, but could anyone think of a nice workaround/hack to get this to work. I would love to be able to do</p>

<pre><code>public Response Foo()
{
   return new Bar();
}
</code></pre>

<p>and end up with a Response.Contents that said <em>Whatever.Namespace.Bar</em></p>
