Возможно ли в C # перегрузить универсальный оператор приведения следующим образом?

Просто интересно, есть ли так или иначе представлять следующий код в C # 3.5:

<code>public struct Foo<T> {

    public Foo(T item) {
        this.Item = item;
    }

    public T Item { get; set; }

    public static explicit operator Foo<U> ( Foo<T> a )
        where U : T {

        return new Foo<U>((U)a.Item)
    }
}
</code>

Спасибо

Ответы на вопрос(3)

Ваш ответ на вопрос