gpt4 book ai didi

c# - 具有父类(super class)的通用类

转载 作者:行者123 更新时间:2023-12-02 22:23:25 25 4
gpt4 key购买 nike

class Program
{
static void Main(string[] args)
{
//GrandFather gf = new Son();
IGF<Father> igf = new MyClass();
}
}
public class Father
{

}
public class Son : Father
{
}
public class MyClass : IGF<Son>
{
public void Method()
{
//DoSomething
}
}
public interface IGF<T> where T : Father
{
void Method();
}

大家好,我在将泛型类与父类(super class)一起使用时遇到一个问题。谁能告诉我为什么第 6 行是错误的,因为当我们使用列表时,我们总是说 IList ss=new List();

最佳答案

如果您使用的是 C# 4.0,则可以将 out 关键字添加到 IGF 实现中,使其成为 covariant interface .这允许您拥有一个带有基类(此处为 Father)的泛型,并使其指向具有派生泛型类型(Son)的同一接口(interface)的实例。

关于c# - 具有父类(super class)的通用类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13354411/

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