【问题标题】:How to Cast between generic types [duplicate]如何在泛型类型之间进行转换[重复]
【发布时间】:2019-05-21 08:58:16
【问题描述】:

正如您在此处看到的,我正在尝试将泛型类实例分配给来自不同类型 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;
}

【问题讨论】:

    标签: c# generics casting


    【解决方案1】:

    这是不可能的,只有隐式转换

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

    【讨论】:

      猜你喜欢
      • 2021-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-27
      相关资源
      最近更新 更多