2012-05-05 5 views
0

私は、ユーザーが定義したモジュールを読み込むSilverlightアプリケーションを作成しています。モジュール名をモジュールコンストラクタに渡す

これは難しい部分です:どのモジュールがあるのか​​わかりませんので、モジュールの名前はわかりません。

私は小さな問題に遭遇しました。ユーザが作成したモジュールがロードされたときに、その名前がわかりません(実行時にブートストラップが認識しています)。すべてを追跡するために何らかの名前が必要ですモジュールはアプリケーションによって使用されます。

これは基本的に次のようなものです。モジュールのコンストラクタで期待される名前(単純な文字列)をモジュールに伝えたいと思います。

しかし、UnityのAFAIKでは、インターフェイスをモジュールに渡すことしかできませんが、正しいですか?そして、たとえ文字列プロパティを持つ非常にシンプルなインターフェイスを作成しても、各モジュールが適切な名前を取得する(または、そのインターフェイスの正しいインスタンスを渡すにはどうすればよいですか)。

答えて

0

もちろん、モジュール自体が独自の名前を定義しています。

[Module(ModuleName="Module Name Goes Here")] 
public class SomeModule : ModuleBase 
{ 
    .... 
} 

なぜ自分の名前を伝える必要がありますか?

+0

私はこれがPRISMの基本原則であると理解します...しかし、私はこれを変更できるようにしたいと思います。アイデアは、アプリケーションがモジュールが実際に呼び出されるものに本当に関心がないことです。必要なのは、ロードされたモジュールを追跡することです。そのためには、内部の名前またはIDを追跡する必要があります。現時点では、モジュールがモジュールをロードするために使用されるconfigファイルと一致する名前を持つことが必要ですが、可能であればこの制限を解除したいと思います。 – Shaamaan

関連する問題