You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将泛型LazyList<T>转换为非泛型System.Collections.IList?

问题:将泛型LazyList转换为非泛型IList

我已实现以下类:

class LazyList<T> : IList<T>
{
    public LazyList(IEnumerable<T> enumerable) { }
}

我需要将该类与非泛型遗留类库System.Collections配合使用,已通过IEnumerable.Cast<object>()解决了部分问题,但还需将LazyList<T>转换为非泛型IList以完成重构,该如何实现?

更新1

LazyList主要用于重构一个遍历IDataReader后返回IList的方法,我用该方法返回的数据通过WebSocket发送实时更新,核心是实时发送而非处理完整个IDataReader后再发送。我曾用yield return返回延迟加载的IEnumerable,但其他方法要求重构后的方法返回IList,因此想到了LazyList。

实际有两个方法,一个返回IList<T>已重构完成,另一个返回IList。我本想找无需实现非泛型LazyList的更简便重构方式,不过最终还是实现了,过程也不算复杂。

内容的提问来源于stack exchange,提问作者MatrixRonny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 05:02:10