• 简单的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

  • 相关阅读:
    脏读、不可重复读、幻读
    数据库一致性
    java 不同时间格式转化
    python-walk遍历目录及查找目录小例子
    python_os模块
    python_time模块
    exec和eval内置函数
    python-filter函数
    python-map函数
    python_内置函数
  • 原文地址:https://www.cnblogs.com/malingbo/p/2125279.html
Copyright © 2020-2023  润新知