gpt4 book ai didi

c# - 具有通用对象的集合

转载 作者:太空狗 更新时间:2023-10-29 22:05:53 24 4
gpt4 key购买 nike

有一种方法将基础对象列表作为参数。

abstract class Base {}
class MyClass:Base {}
//...
void Method(List<Base> list) {}

当我调用该方法时,我想传递派生对象列表。

var derivedList = new List<MyClass>();
Method(derivedList);

但我不能那样做,因为派生对象的集合与基础对象的集合不同。处理这种情况的最佳做法是什么?现在我在创建新集合的地方使用我的扩展 .ToBase(),但我认为有更好的解决方案。

谢谢。

最佳答案

使您的方法通用:

public void Method<T>(List<T> list) where T : Base
{
//Do your stuff
}

关于c# - 具有通用对象的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4992898/

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