.net 4.0 C#MEF集合属性/属性注入
有没有办法让它使用Microsoft可扩展性框架(MEF)工作 假设我有接口.net 4.0 C#MEF集合属性/属性注入,.net-4.0,mef,.net 4.0,Mef,有没有办法让它使用Microsoft可扩展性框架(MEF)工作 假设我有接口 public interface IApplicationSettings { string SettingOne { get; } } 实现此接口的类 [Export(typeof(IApplicationSettings))] public class ApplicationSettings : IApplicationSettings { public string SettingOne {
public interface IApplicationSettings
{
string SettingOne { get; }
}
实现此接口的类
[Export(typeof(IApplicationSettings))]
public class ApplicationSettings : IApplicationSettings
{
public string SettingOne
{
get
{
return "AAA";
}
}
}
类,该类将我的接口作为属性包含
public class IoCConstructorMef
{
[Import("ApplicationSettings", typeof(IApplicationSettings))]
public IApplicationSettings ApplicationSettings { get; set; }
}
那么我希望我的财产将被注入这里:
static void Main(string[] args)
{
IoCConstructorMef cm = new IoCConstructorMef();
//cm.ApplicationSettings - is null
}
看起来在这种情况下没有注射
我是错过了什么还是做错了什么?你必须让MEF构建你的IOC架构或cm。否则导入将不会发生。您必须让
CompositionContainer
为您创建一个对象,以满足其导入。将ExportAttribute
添加到IOCConstructuref
,创建一个容器,然后调用container.GetExportedValue()