如何使用MEF注入记录器实例?

时间:2010-03-10 12:33:10

标签: c# mef

是否可以使用Managed Extensibility Framework注入logger类对象的实例?请显示示例代码段。

1 个答案:

答案 0 :(得分:1)

是的,使用构造函数注入

private readonly ILogger logger;

[ImportingConstructor]
public MyClass(ILogger logger)
{
    this.logger = logger;
}

显然(如果你知道MEF)其他一些类型必须导出 ILogger ......

或者,你也可以使用 Property Injection ,虽然我觉得语义含糊不清:

[Import(typeof(ILogger))]
public ILogger Logger { get; set; }