• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > 编程与数据库 > net编程 >

如何使用托管扩展框架(4)

来源: www.dedecms8.com 编辑:织梦吧 时间:2012-06-27点击:

MEF也拥有直接存取的应用程序接口,但是大多数情况下VB或c#都需要Import/Export属性模式。MEF完整的可扩展性使得它可以在其他情境中使用,包括动态语言,外部定义和候补发现机制。

到此,我们已经跳过了基数和生命周期的重要问题。当你将Import属性放在单独项目中时,要表述你需要单独项目。如果不匹配或找到多个匹配,那么标准的MEF容器配置会抛出一个异常情况。

_

Private textToDisplay As ITextToDisplay

如果你预先知道会出现多个匹配的情况,就能够输入一个IEnumerable或一个ExportCollection。如果不想有异常抛出或找不到匹配结果时,可以设置Import属性中的AllowDefault参数值为True。如果不知道匹配结果的数量,要将Import放到集合中并将正确实例加入代码中。

生命周期是指输出的单独实例是否用于所有请求,或新创建的实例是否用于每个请求。你要申明生命周期使用的是Export属性的 CreationPolicy参数或Import属性中的RequiredCreationPolicy。默认的创建政策是Any,而如果Export和 Import属性都具备可用于Any的CreationPolicy,其结果是共享实例。如果CreationPolicies冲突,MEF会抛出异常。这可以让你细致而灵活地控制实例创建过程。

MEF可以赋予你创建高度解耦型应用程序的能力,这样的程序支持客户扩展,粒度开发和优秀的编程设计,是程序员的好帮手。

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1170734538@qq.com ,  QQ