我现在面临一个奇怪的问题,其中一个对象可以在一个类中导入就好了。 如果我从第一个类创建另一个类的实例,则尝试在子类中导入相同的对象,导入总是失败!MEF导入对象为NULL
第一类:
public class Foo {
[Import]
private SomeExportedType foobar;
public Foo() {
foobar.Test(); // Works just fine
Bar bar = new Bar();
bar.Test();
}
}
二等:
public class Bar {
[Import]
private SomeExportedType foobar;
public void Test() {
foobar.Test(); // This fails because foobar is NULL
}
}
所有这一切都是伪代码,或课程,但它正确地反映了我的代码是如何构建的。 为什么子类中的导入失败?
如何是“富”类实例化?如果你只是用它的构造函数创建一个类,那么导入就不会满足......我实际上讨厌属性注入的原因之一......没有准确地声明它的依赖关系。 – BenjaminPaul
正如我在你的回答评论中所提到的,“Foo”由MEF实例化。 – GTHvidsten