如何在泛型类型之间进行转换

时间:2019-05-21 08:58:16

标签: c# generics casting

正如您在这里看到的,我正在尝试将一个通用类实例分配给另一个来自不同类型T的通用类实例,但是B继承自A

我的逻辑说必须能够做到,也许我遗漏了一些东西。

abstract    class A
{    
}
class B : A
{            
}
class C<T> where T : A
{            
}

static void Main(string[] args)
{
    C<A> class1;
    C<B> class2;
    class1 = class2;
}

1 个答案:

答案 0 :(得分:-1)

不可能,只有隐式强制转换

        public static implicit operator C<T>(C<B> v)
        {

        }