0


0

私はクラスがあります

パブリッククラスBroker {パブリックBroker(string []ホスト、文字列endPoint、文字列ポート、Type remoteType){}}

Unity XML Configurationを使って設定したいのですが、C#のコードを使って設定することができます。「container」は私のUnityコンテナです

container.Configure().ConfigureInjectionFor( "myBroker"、新しいInjectionConstructor(ホスト、エンドポイント、ポート、新しいInjectionParameter(typeof(IMyBrokeredObject))));

そしてそれは通常の団結呼び出しを使用してうまく解決するでしょう

container.Resolve( "myBroker");

しかし現在のところ私のxmlは最後のパラメータIMyBrokeredObjectを解決することができません。上のコードのようにUnityが単に型を注入することに惹かれた型を解決しようとしているので私は解決の例外を得ます。

何か案は?

2 Answer


1


構成ファイルでタイプを定義しましたか。



0


しかし、私の問題はIMyBrokeredObjectのために利用可能な実装がないということです。これの背景で実際に起こっていることはブローカがインターフェースを与えられたリモートオブジェクトを提供するということです、実際の実装はどこか他のところにあります。

コードでは、 "InjectionParameter"を指定することでコンテナにブローカーを提供させることができますが、これをxml構成で行う方法を見つけることはできません。

コンテナーにインターフェースのインスタンスを渡させたくないが、実際にはそのままインターフェースを渡したくないため、そのトリッキーなのは、 "InjectionParameter"は値の保管場所であり、保管された値はコンテナーによってオブジェクトが作成されるときに渡されます。そのまま。 私が探しているのは、InjectionParameterを作成し、それに可能であればそれに値を与えるために必要な設定XMLです。