C# 如何在泛型类型之间转换

C# 如何在泛型类型之间转换,c#,generics,casting,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> class

正如您在这里看到的,我试图将一个泛型类实例分配给另一个不同类型的泛型类实例
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;
}
抽象类A
{    
}
B类:A
{            
}
C类,其中T:A
{            
}
静态void Main(字符串[]参数)
{
C类1;
C类2;
类别1=类别2;
}

这是不可能的,只能使用隐式强制转换

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

        }
公共静态隐式运算符C(cv)
{
}