この質問とほぼ同じ問題があります: C#/MEF は、パラメーターなしのコンストラクターのない基本クラスでは機能しません。
答えもわかります。MEF は val の値を知らないため、インスタンスを作成できません。
しかし、ベース ctor 呼び出しはなく、val のデフォルト値はありません。
[Export(typeof(IPrimitiveDecomposer))]
public class Prim : IPrimitiveDecomposer
{
[ImportingConstructor]
public Prim(int val=0)
{//some code
}
public bool Match(Node node) {return true;}
}
コードは正常にコンパイルされますが、私が要求したときに、MEF は IPrimitiveDecomposer のエクスポートを持っていないようです。以下を実行すると、すべて正常に動作します。
[Export(typeof(IPrimitiveDecomposer))]
public class Prim : IPrimitiveDecomposer
{
public Prim() : this(0)
public Prim(int val=0)
{//some code
}
public bool Match(Node node) {return true;}
}
あなたの助けのためのthxソコ