Mef 通过SatisfyImports找到可能的解决方案-有更好的方法吗?

Mef 通过SatisfyImports找到可能的解决方案-有更好的方法吗?,mef,Mef,有没有更好的方法连接依赖项?? 这依赖于singleton App.Current并公开一个公开_container.satisfyiimports的函数 有没有一种更美味的做事方式 这是我主要应用课程的一部分 public partial class App : Application { private CompositionContainer _container; .... public void SatisfyImportsOnce(Object s

有没有更好的方法连接依赖项?? 这依赖于singleton App.Current并公开一个公开_container.satisfyiimports的函数

有没有一种更美味的做事方式

这是我主要应用课程的一部分

public partial class App : Application
{
    private CompositionContainer _container;    

    ....

    public void SatisfyImportsOnce(Object satifyMe)
    {
        _container.SatisfyImportsOnce(satisfyMe);    
    }
}
下面是一个在ComposeParts被调用很久之后实例化的测试类

public class TestClass
{
    public TestClass()
    {
       Console.WriteLine("Created a TestClass");

       ((Microsoft.Samples.XFileExplorer.App)App.Current).SatisfyImportsOnce(this);
    }
}

我在WPF应用程序中遇到了类似的情况,我希望MainWindow实例导入MEF导出。由于MEF不创建MainWindow实例,除非您告诉它,否则它不会满足导入

如果您不希望实例注册以进行重新编译,那么您正在使用的方法将起作用。如果您确实想要重新编译,您应该调用

当导入发生更改时,“重新定位”将更新类中的导入