5
是否有可能做这样的事情:MEF导出/导入静态类吗?
[Export(typeof(Settings)]
public static class Settings
{
public string Name {get;set;}
public string Color {get;set;}
}
[Import(typeof(Settings)]
Settings s;
是否有可能做这样的事情:MEF导出/导入静态类吗?
[Export(typeof(Settings)]
public static class Settings
{
public string Name {get;set;}
public string Color {get;set;}
}
[Import(typeof(Settings)]
Settings s;
不能导出一个静态类,因为没有实例线了。第二行:
Settings s;
将是一个编译器错误,因为你不能实例化一个静态类。
这就是说,这通常不是必需的。 MEF将自动创建Settings
类的一个实例(默认情况下)(假设它不是静态的),并将该实例设置为指定的任何Import
。这有效地为你提供了一个“类似单身”的类,没有任何使用静态类或单例的缺点。