如何将泛型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
相关产品推荐
相关产品推荐

