1

ラベルが付いたWindowsフォームがあります。ディレクトリ内にあるアセンブリに応じて、実行時にラベルの値を設定したいと考えています。どのコードがどこに行くのかわかりません:

UI Form has a label.

2 class libraries that implement an interface.

Should I have another class that does the MEF composition work and do I need to call that in the constructor of the UI Form.

フォーム コンストラクターでそれを呼び出す必要があり、多くのフォームがある場合、これは非常にフォームで呼び出す必要があることを意味しますか。

4

1 に答える 1

0

私がMEF開発している WPF アプリケーションで初めて使用しています。上記の説明は、MEFモジュールの管理方法に関するものです。

以下は私がやったことの要約です:

  • MEF合成用に別のクラスを作成します。私は私の名前を付けましたModules。このクラスは、すべてのMEF構成を行う必要があります。オブジェクトの作成時に構成を行うか、そのためのメソッドを作成できます。( Modules.DoComposition())
  • Modulesメイン UI ウィンドウのコンストラクターで、このクラスのインスタンスを作成します。この時点で合成が行われます。(MVVM デザイン パターンを使用している場合は、ViewModel で作成します。)
  • Modulesオブジェクトへのアクセスが必要な追加フォームのコンストラクターで、オブジェクトへの参照を渡します。そうすれば、構成を再度行う必要なく、すべてのフォームがModulesオブジェクトにアクセスできます。
于 2012-10-24T16:16:58.260 に答える