gpt4 book ai didi

c# - 如何将通用 IList 转换为 IList?

转载 作者:太空狗 更新时间:2023-10-29 22:25:17 28 4
gpt4 key购买 nike

我想创建一个 ListCollectionView使用通用 IList<T>但是构造函数得到一个非泛型 IList .如何将我的列表从 IList<T> 转换为至 IList

如果有另一种方法可以创建 ListCollectionView使用通用 IList<T>我想听听:)

最佳答案

烦人的,IList<T>是那些不实现其非通用对应接口(interface)的接口(interface)之一 IList .

如果你能找到一种方法来传递 List<T>而不是 IList<T> (或实现 IList 以及 IList<T> 的其他类型,例如 ObservableCollection<T> ),这将是最简单的。这可能意味着更改您的应用程序,以便您通过 List<T>或者周围的其他东西而不是 IList<T> .

否则,您可能必须创建一个新的 List<T>使用 IList<T> 中的元素,并通过它(即 myList.ToList() )。请注意,这意味着您已经创建了列表的副本,因此对原始列表的更改不会反射(reflect)在副本中。特别是,ListCollectionView检查源集合是否实现了 INotifyCollectionChanged ,并订阅集合更改事件(如果是):如果您创建列表的副本,这显然不会起作用。

关于c# - 如何将通用 IList<T> 转换为 IList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55675534/

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