小编Gri*_*rit的帖子

C# 泛型强制转换

我有一个无法解决的铸造问题:

在 ClassA 初始化函数中,我想将“this”作为参数传递,但编译器无法从 转换ClassA<T, U>ClassA<ClassB<U>, U>知道它们是相同的 ( where T : ClassB<U>)。

public class ClassA<T, U> : MonoBehaviour where T : ClassB<U>
{
    public void initialize()
    {
        T item =...
        item.Initialize(this); // Cannot implicitly convert from ClassA<T, U> to ClassA<ClassB<U>, U>.
    }
}

public class ClassB<T> : MonoBehaviour
{
    public virtual void Initialize(ClassA<ClassB<T>, T> mgr, T data)
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢。

c# casting

3
推荐指数
1
解决办法
110
查看次数

标签 统计

c# ×1

casting ×1