依存性注入にMicrosoftのUnityを使用していますが、次のようなことをしたいと思います。
IDataContext context = _unityContainer.Resolve<IDataContext>();
var repositoryA = _unityContainer.Resolve<IRepositoryA>(context); //Same instance of context
var repositoryB = _unityContainer.Resolve<IRepositoryB>(context); //Same instance of context
IDataContext context2 = _unityContainer.Resolve<IDataContext>(); //New instance
var repositoryA2 = _unityContainer.Resolve<IRepositoryA>(context2);
RepositoryA
どちらにもパラメーターRepositoryB
を受け取るコンストラクターがあり、IDataContext
Unityに渡したコンテキストでリポジトリーを初期化してもらいたいです。IDataContext
また、Unityに登録されていないことに注意してください(3つのインスタンスは必要ありませんIDataContext
)。