gpt4 book ai didi

c# - 继承泛型作为函数参数

转载 作者:行者123 更新时间:2023-11-30 14:28:02 24 4
gpt4 key购买 nike

我怎样才能做到这一点?

class A { }
class B : A { }

class X<T> where T : A { }
class Y<T> : X<T> where T : A { }

private static void f(X<A> x) { }

public static void Main(string[] args)
{
Y<B> y = new Y<B>();
f(y); // Compiler error here
}

Y 继承自 X,B 继承自 A,但它没有被编译。

最佳答案

将函数定义更改为:

private static void f<T>(X<T> x) where T : A { }

正如您定义的那样,您是说 f()必须传递一个 X<A> 的实例.通过我在这里显示的定义,您是说 f()参加任何有 X<A> 的类(class)作为 parent 。

关于c# - 继承泛型作为函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30501007/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com