サンプルPRISMアプリケーションで作業しています.MEF RegistrationBuilder
を使用してすべてのエクスポートを作成したいと考えています。次のようにExportAttribute
を使用するのと同じです:MEF RegistrationBuilderを使用してPRISM ModuleExportを作成することはできますか?
[Export(typeof(IFooService))]
public class FooService : IFooService { ... }
Builder.ForTypesMatching(typeof(IFooService).IsAssignableFrom(type)).Export<IFooService>();
はしかし、モジュールは、例えば、異なる属性、ModuleExportAttribute
を使用します。
[ModuleExport(typeof(ModuleA), DependsOnModuleNames = new string[] { "ModuleB" })]
public sealed class ModuleA : IModule { ... }
私はRegistrationBuilder
クラスを使用するかどうかはわかりませんModuleExportAttribute
を使用する代わりにモジュールエクスポートを作成します。これは、標準のエクスポートとは異なる方法でエクスポートされるため可能ですか?
推奨されるコードです。正しい 'Export()'オーバーロードを使用する必要があることに注意することが重要です。さらに、メタデータをすべて追加する必要はなく、必要な部分だけを残し、残りはデフォルト値を持ちます。これは 'InitializationMode'や依存関係などを指定したくない場合には問題ありません。ありがとうございました! –
私はそれをチェックしたときに、 'DependsOnModuleNames'メタデータだけのモジュールを読み込めなかったので、すべてのメタデータを追加する必要があると仮定しました。たぶん、いくつかのプロパティが必要であり、いくつかはオプションですが、どのプロパティがどのようなものかを知る方法がわかりません。 –