【发布时间】:2011-07-02 03:59:20
【问题描述】:
我有一个Lazy<List<T>>,其中 T 是一个类,它有一个巨大的字符串和关于文件的元数据。
我们称它们为 Property HugeString 和 Property Metadata
我有这个 U 类,它具有相同的属性HugeString 等等。我必须在不加载所有内容的情况下将Lazy<List<T>> 转换为Lazy<List<U>>。
有可能吗?
这是我创建列表的地方,在该方法中我获取有关文件和文件本身的信息:
entity.VersionedItems =
new Lazy<List<VersionedItemEntity>>(
() => VersionedItemEntity.GetFromTFSChanges(entity,chng.Changes));
这就是我想做的(评论)
ChangesetList.Add(
new HistoryLogEntryModel()
{
Revision = changeset.Changeset.ToString(),
Author = changeset.User,
Date = changeset.Date.ToString("dd/MM/yyyy"),
Message = changeset.Comment,
//VersionedItems = changeset.VersionedItems
}
但 HistoryLogEntryModel 具有不同版本的 VersionedItems。而且我需要转换一些变量。如果我将一件事转换为另一件事,它会加载所有内容,这将是不必要且缓慢的。
这是正确的方法吗?我还能如何做到这一点?
谢谢你的建议。
~
【问题讨论】:
标签: c# list lazy-loading type-conversion