是否可以使用Managed Extensibility Framework注入logger类对象的实例?请显示示例代码段。
答案 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; }