0

我是 MEF 模式的新手,我的问题如下。

当我应该调用 SatisfyImportOnce 时,现在我在我的 program.cs 上调用它并将 Form 1 的引用传递给它。

static void Main()
        {
.
.
.

     var container = new CompositionContainer(new DirectoryCatalog(Environment.CurrentDirectory));
                container.SatisfyImportsOnce(frm1);
}

在我从form1打开一个新的表单/对话框之前,我是否需要每次都打电话?

谢谢,

4

1 回答 1

0

您只需要对从未统计过导入的对象调用 SatisfyImportsOnce。因此,只有当您创建新表单时,您才需要在该对象实例上调用它。

请记住,使用 SatisfyImportsOnce 您不会对“Once”来自的那些 Imports 进行重组。这是 SatisfyImportsOnce 和 Compose 之间的主要区别。

于 2012-10-10T02:07:19.850 回答