zoukankan      html  css  js  c++  java
  • 简单的MEF例子

    MEF(Managed Extensibility Framework)是微软推出的用于开发基于插件程序的应用框架,网址为CodePlex MEF Site.在园子里有不少文章,可能是鄙人水平有限,虽然懵懂,但是如何实现即插即用的应用程序还是很模糊,终于在http://www.codeproject.com/KB/silverlight/SilverlightMEFGuidePart1.aspx看到了这位印度兄的文章,图文并茂,很容易理解,在此把自己的开发过程写下来备忘。

    一,运行环境:vs2010,.net framework4.0

    二,示例工程包括下图,

    CommonInterface工程定义部件的公共接口,

    CustomPerson和EmployPerson为部件工程,分别引用CommonInterface类库,实现公共接口,

    Demo工程为主程序。

    Snap1

    三:部件接口定义:

    Snap2

    四:实现接口,用Export(typeof(IPerson))标示该类可导出

       Snap3

     Snap4  

    五:

        1,定义导入部件

            [ImportMany(typeof(Iperson))]

            public IPerson[] Service{get;set;}

        2,定义部件目录:

            var catalog=new DirectoryCatalog(@”.\”);

        3,创建宿主容器;

            var container=new CompositionContainer(catalog);

        4,拼装部件:

            container.ComposeParts(this);

        5,调用接口方法:

            foreach(var aa in p.Service)

    {

              aa.show();

    }

    完整代码如下:

    Snap5

  • 相关阅读:
    HTML基础
    Java基础05-计算机单位
    Java基础04-运算符
    Java基础03-数据类型
    Java基础02-变量
    Java基础01-HelloWorld
    MarkDown基本使用
    短视频学习
    c# as 总结
    在C#中使用Nullable类型和 tuple类
  • 原文地址:https://www.cnblogs.com/malingbo/p/2125279.html
Copyright © 2011-2022 走看看