摘要:【原文地址】Managed Extensibility Framework 【原文发表日期】28 April 08 06:14 Krzysztof 最近在他的blog上宣布,我们已经开始致力于为.NET创建一个扩展性的框架了…… 在接下来的几个月,我们会在blog上谈论MEF的更多细节,不过现在已经有一些初期的细节了(当然,很可能会作改动):MEF是一系列特性的集合,在学术界与工业上,这一集合即是一个命名与激活服务(返回一个“具名”的对象),依赖注入(DI)框架,以及一个结构化类型系统(动态类型)。将这些技术(以及其它技术如System.AddIn)组织在一起,我们将实现一个称之为“开放式与动态应用”的新天地。比方说,它会使得创建可扩展的应用与扩展更加简单方便了。 [……] 最后,这里有一段代码,展示了我们的框架所支持的基本的场景: 在应用中创建一个扩展点: public class HelloWorld {
[Import] // import declares what a component needs
public OutputDevice Output;
public void SayIt() {
Output.WriteLine("Hello World");
}
}
// Extension
public abstract class OutputDevice {
void WriteLine(string output){}
}
1. 创建一个扩展
[Export(typeof(OutputDevice))] // export declared what a component gives
public class CustomOutput : OutputDevice {
public void WriteLine(string output) {
Console.WriteLine(output);
}
}
......[
阅读全文]