からすべてのプロバイダクラスは、どのようにソリューションフォルダ内の各クラスの1つのインスタンスをインスタンス化するには?フォルダ内のすべてのクラスを反復処理する方法は何ですか?ロード異なる論理プロバイダをサポートする.NETアプリケーションを考えるとソリューションフォルダ
たとえば、私のソリューションにはMailClientProviders
と呼ばれるフォルダがあります。OutlookとThe Bat! IMailProviderインターフェイスを実装するプロバイダクラス。私のApp.xamlで
私はNinjectコンテナがすべての依存関係を初期化するために呼び出します。それから私は呼び出すメソッドを書く必要があり、返された各クラスのインスタンスを取得します。
heartbeatService.Providers = CreateOneInstanceOfAllClassesInProvidresDir(MailClientProviders);
CreateOneInstanceOfAllClassesInProvidresDir
方法には何でしょうか?
MEFは、より適していると思われますこの種の仕事... AFAIKは、Ninjectなどと統合/統合することができます。 – Yahia
MEFは私が持っている小さなアプリのオーバーヘッドのようです。 –
「MEF」は_.NET4_に統合されていますが、私はあなたのアプリケーションの過度の攻撃ではないと思います。 'MEF'は簡単で、あなたが必要な正確に何を行い、ガイドは[こちら](http://mef.codeplex.com/wikipage?title=Guide&referringTitle=Documentation)を参照してください! – ordag