zoukankan      html  css  js  c++  java
  • Catalog的种类

    框架中的Catalog

    在MEF框架中,包含了4种Catalog,所有的Catalog的是从System.ComponentModel.Composition.Primitives名称空间下的ComposablePartCatalog抽象类派生下来。

    继承层次结构

    • AssemblyCatalog:表示从程序集中搜索部件的目录。
    • DirectoryCatalog:表示从文件系统的指定路径中,搜索程序集,从而搜索部件。
    • TypeCatalog:表示从指定的类型集合中,去搜索相应的部件。
    • AggregateCatalog:聚合目录,可以添加上面所说的所有目录,从而进行多方面的部件搜索。

    那么再看下第一天的例子

        var catalog = new AssemblyCatalog(typeof(Program).Assembly);   //从程序集中搜索部件,应该指的就是目录下的DLL吧
            _container = new CompositionContainer(catalog);

    三、自定义Catalog

    虽然MEF提供了4种Catalog已经能满足我们很多需求,但也并非所有时候都尽如人意。如果无法满足,我们可以通过自定义Catalog来完成我们所需要的部件搜索。

    自定义Catalog和系统实现的Catalog类似,我们通过继承System.ComponentModel.Composition.Primitives空间下的ComposablePartCatalog类,并且覆写掉基类的方法即可。

    image

    上图是ComposablePartCatalog类中提供的方法,我们要实现自己的Catalog,必须要覆写掉Parts属性,如有特别需要处理的,我们还可以覆写GetExports方法,此方法默认的调用了Parts属性,进行进一步的输出。

    http://www.cnblogs.com/prinsun/tag/MEF/

     

  • 相关阅读:
    EXCEL某列长度超过255个字符导入SQL SERVER2005的处理方法
    正则同时获取a标签里的href,text 2项
    火柴棍
    特殊数
    骨牌铺方格
    拼图
    挑战题之排列生成
    模拟 找规律
    sort
    贪心 简单背包问题
  • 原文地址:https://www.cnblogs.com/wangchuang/p/4494998.html
Copyright © 2011-2022 走看看