質問

AutoFacから以下を変更するには、一般的なサービスロケーターを使用するにはどうすればよいですか?

var query = _context.Resolve<IContentQuery>(TypedParameter.From<IContentManager>(this));

上記のコードは果樹園から取得されており、Autofacへの依存関係を削除しようとしています。通常、私は次のようなことを試してみます:

var query = ServiceLocator.Current.GetInstance<IContentQuery>();

ただし、これはnullを返し、TypedParameterのものを処理する方法がわかりません。

誰かが助けてくれたら本当に感謝しています。ありがとう

役に立ちましたか?

解決

a TypedParameter 解決中のコンポーネントのコンストラクターに追加値を提供します。この場合、根底にあります ContextQuery タイプのパラメーターを受け入れます IContentManager 値で this 渡される。

一般的なサービスロケーターはパラメーター化をサポートしていないため、おそらく基礎となるIOCコンテナの特定の機能を使用する必要があります。

お役に立てれば。ニック

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top