gpt4 book ai didi

c# - 创建一个 IList 的 Item

转载 作者:行者123 更新时间:2023-11-30 19:34:12 25 4
gpt4 key购买 nike

所以我有一个对象,比方说 Item<U> .我想创建一个(n) (I)List<T>包含这些项目的集合。我遇到的问题是 Item<U> 的集合U 可以有任意数量的不同类型。

我想不通的是用于 IList 的签名.我试过了 IList<Item<T>> , 但因为我没有(在要使用 IList 的类中)定义 T (正如我所说,无论如何都会有所不同)我不能使用这个签名。满足此要求的最佳方法是什么?

最佳答案

您需要为您的 Item<U> 添加一个非通用接口(interface)并从这些接口(interface)中收集。

您无法创建 IList<Item<T>> 的集合其中 T 是您想要放入同一个列表中的许多不同对象类型的一些基本类型。这是 co(ntra)-variance in place 明确禁止这样做。

因此,您需要添加一些通用的、非通用的东西,然后从中制作列表。例如,您可以制作 Item<T>实现 IItem , 并创建 IList<IItem>相反。

那是你能做的最好的。

关于c# - 创建一个 IList<T> 的 Item<U>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1922002/

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