小编Int*_*WAS的帖子

具有多个构造函数的MEF构造函数参数

我开始使用MEF,我有一个包含多个构造函数的类,如下所示:

[Export(typeof(ifoo))]
class foo : ifoo {
    void foo() { ... }
    [ImportingConstructor]
    void foo(object par1) { ... }
}
Run Code Online (Sandbox Code Playgroud)

catalog.ComposeExportedValue()在编写时使用它来par1 为第二个构造函数提供值:

...
catalog.ComposeExportedValue(par1Value);
catalog.ComposeParts(this);
...
Run Code Online (Sandbox Code Playgroud)

要保存我正在使用的组件:

[ImportMany(typeof(ifoo))]
public List<Lazy<ifoo, ifoometadata>> FooList { get; set; }
Run Code Online (Sandbox Code Playgroud)

为了创建foo我正在使用value属性的实例,FooList[0].Value.

Everthing工作正常,但从foo不调用类的第二个构造函数.怎么了?

当MEF实例化类时,如何选择我想要使用的构造函数?

.net c# mef multiple-constructors

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

.net ×1

c# ×1

mef ×1

multiple-constructors ×1