Autofacから共通サービスロケーター(typedParameterの問題)
-
27-10-2019 - |
質問
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コンテナの特定の機能を使用する必要があります。
お役に立てれば。ニック
所属していません StackOverflow