gpt4 book ai didi

mef - MEF支持自定义CTOR吗?

转载 作者:行者123 更新时间:2023-12-04 17:13:41 25 4
gpt4 key购买 nike

看起来 MEF 框架创建了具有默认 CTOR 的对象。定制化的CTOR,或者带参数的构造函数怎么样?例如:

[Export (typeof(IInterface1))]
public class MyClass : IInterface1
{
public MyClass(int id) {....}
....
}

如果没有,我能想到的一种方法是将对象作为参数传递给 CTOR。例如:

公共(public)接口(interface) IParameterID { 公共(public) int Id { 得到;私有(private)集; } ...

那么 CTOR 将是:

public MyClass([Import(typeof(IParameter))] IParameterID id)
{ ... }

不确定是否可以将属性添加到 CTOR 的参数中?下一个问题是MEF是否会自动创建一个IParameter实例并将其注入(inject)到CTOR的参数中?

最佳答案

是的,这是可能的。只需在您要使用的构造函数上放置一个 [ImportingConstructorAttribute]。这些参数将自动被视为导入,但如果您需要更改它们的契约(Contract)名称,您也可以在它们上放置一个导入属性。

关于mef - MEF支持自定义CTOR吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1616808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com