現在、MEFを使用して、名前でデリゲートをインポートおよびエクスポートしています。
public delegate IThing ThingGenerator();
[Export("ThingGenerator")]
public IThing MyThingGenerator() { ... }
[ImportMany("ThingGenerator")]
public IEnumerable<ThingGenerator> ThingGenerators { get; set; }
保守性のために、型を使用してインポートおよびエクスポートしたいと思います。しかし、私たちはこれを機能させることができないようです。
[Export(typeof(ThingGenerator))]
public IThing MyThingGenerator() { ... }
[ImportMany(typeof(ThingGenerator))]
public IEnumerable<ThingGenerator> ThingGenerators { get; set; }
一部のフォームでは、エクスポートされた関数がデリゲートタイプと一致しないことを示すエラーが発生します。他のシナリオでは、タイプはエクスポートされないようです。誰かがこれを成功させましたか?