首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Lazy<T,TMetaData> -> Lazy<dynamic,TMetaData>而不实例化?

Lazy<T,TMetaData> -> Lazy<dynamic,TMetaData>而不实例化?
EN

Stack Overflow用户
提问于 2013-05-07 18:27:04
回答 1查看 136关注 0票数 0

我使用MEF和compose parts,并获得了几个IEnumerable<Lazy<IFoo, IMetaData>> (我有几个导入)。我喜欢将所有组合部分合并到一个IEnumerable<Lazy<dynamic, IMetaData>>类型的集合中。如果不调用/实例化实现IFoo或其他接口的实际对象,这是可能的吗?

我希望设置一个大型的可组合部件集合,但在实际请求它们之前,我不喜欢实例化它们。(请看我的相关问题:MEF, why are identical duplicates of one and the same exported plugin created?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-08 12:54:13

您应该能够通过使用以下命令来实现此目的:

代码语言:javascript
复制
from enumerable in enumerables
from lazy in enumerable
select new Lazy<dynamic, IMetaData>(() => lazy.Value, lazy.Metadata)

不幸的是,我手头没有MEF,所以如果你会有任何编译问题,请让我知道。请注意,lazy.Value是在委托中传递的,因此在需要之前不会进行计算。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16416731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档