Unityを使用してどのオーバーロードされたコンストラクターを選択するかを尋ねる投稿をたくさん見ましたが、私の質問は少し異なり、答えを理解できません。インターフェイス(部分コード)を継承する次のクラスがあります。
public class UnitOfWork : IUnitOfWork
{
private DbContext _context;
public UnitOfWork(DbContext context)
{
_context = context;
}
}
だから今私はユニティを使って具体的なタイプを以下のようなインターフェースに解決しようとしています:
container.RegisterType<IUnitOfWork, UnitOfWork>();
ただし、解決時にEntityFrameworkコンテキストをその具象型に渡す必要があります。私はこのようなことをしたい:
container.RegisterType<IUnitOfWork, UnitOfWork(new AdventureWorks2008R2Entities())>();
もちろん、上記のコードが正しくないことを知っており、InjectionConstructor
クラスの使用について読んだことがありますが、ここでは当てはまらないと思います。
UnitOfWork
だから私の質問は、 Unity IoCを使用して具象型を解決するときに、クラスでそのコンストラクターの値をどのように定義するのですか?
ありがとう!