0

すべてのフォーム値を Windows フォームに格納するクラス ScreenParameter (IScreenParameter を実装) があります。このクラスは、ユーザーがすべてのフィールドに入力してボタンをクリックすると開始されます。ビジネス レイヤーのクラスは、コンストラクターで IScreenParameter を待機します。構造マップを使用してインターフェイスを注入していますが、そのコンテキストで作成する必要があります。インターフェイスを作成して設定するメソッド (GetScreenParameters) があります。構造マップの構成中にconcreateクラスの代わりにメソッド名を付けたいと思い、これを試しました。

   ObjectFactory.Initialize(initialize =>
        {
            initialize.For<IScreenParameter>().Use(GetScreenParameters);

        });

しかし、それは機能していません。これを達成する方法を教えてください。

4

1 に答える 1

0

Formメソッドを含むクラス のインスタンスからコードが呼び出されると仮定するとGetScreenParameters、次の構文を使用できます。

initialize.For<IScreenParameter>().Use(() => GetScreenParameters());

これにより、 のインスタンスを取得するたびに GetScreenParameters メソッドが呼び出されますIScreenParameter。毎回同じインスタンスが必要な場合は、次のようにシングルトンとして登録できるはずです。

initialize.For<IScreenParameter>().Use(GetScreenParameters());
于 2012-01-27T19:45:28.373 に答える