博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MEF元数据应用说明
阅读量:6137 次
发布时间:2019-06-21

本文共 896 字,大约阅读时间需要 2 分钟。

public interface IPluginMetadata{    string Name { get; }    [DefaultValue(1)]      int Version { get; }}[Export(typeof(IPlugin)),    ExportMetadata("Name", "Logger"),    ExportMetadata("Version", 4)]public class Logger : IPlugin{}[Export(typeof(IPlugin)),    ExportMetadata("Name", "Disk Writer")]     //Version is not required because of the DefaultValuepublic class DWriter : IPlugin{}//----public class Addin{    [Import]    public Lazy
plugin;}//-------public class User{ [ImportMany] public IEnumerable
> plugins; public IPlugin InstantiateLogger () { IPlugin logger = null; foreach (Lazy
plugin in plugins) { if (plugin.Metadata.Name = "Logger") logger = plugin.Value; } return logger; }}//------

 

转载于:https://www.cnblogs.com/xmyy/articles/4121167.html

你可能感兴趣的文章
抽象工厂方法
查看>>
ubuntu apt-get 安装 lnmp
查看>>
焊盘 往同一个方向增加 固定的长度方法 总结
查看>>
eclipse的maven、Scala环境搭建
查看>>
架构师之路(一)- 什么是软件架构
查看>>
jquery的冒泡和默认行为
查看>>
USACO 土地购买
查看>>
【原创】远景能源面试--一面
查看>>
B1010.一元多项式求导(25)
查看>>
10、程序员和编译器之间的关系
查看>>
前端学习之正则表达式
查看>>
配置 RAILS FOR JRUBY1.7.4
查看>>
AndroidStudio中导入SlidingMenu报错解决方案
查看>>
修改GRUB2背景图片
查看>>
Ajax异步
查看>>
好记性不如烂笔杆-android学习笔记<十六> switcher和gallery
查看>>
JAVA GC
查看>>
codeforce 599B Spongebob and Joke
查看>>
3springboot:springboot配置文件(外部配置加载顺序、自动配置原理,@Conditional)
查看>>
9、Dubbo-配置(4)
查看>>