ユニティで依存関係を解決し、「呼び出しインスタンス」の情報をサービスのコンストラクターに渡して解決することは可能ですか?
パラメータを取るconstrutcorを持つインターフェースの実装( Log
)を持っているとしましょう。ILog
class Log : ILog
{
public Log(string name)
{
Name = name;
}
public string Name { get; private set; }
}
Log
Unity によって 2 つの Test クラスに注入されます。
class TestA
{
private statig Ilog _log;
public TestA(ILog log)
{
_log = log; // <-- _log.Name = "TestA"
}
}
class TestB
{
private statig Ilog _log;
public TestB(ILog log)
{
_log = log; // <-- _log.Name = "TestB"
}
}
-Typeの登録内で TestA と TestB のインスタンスにアクセスしてLog
、 Name をコンストラクターに渡すことは可能ですか?
私は次のようなことを考えました:
container.RegisterType<ILog, Log>(new InjectionConstructor( x => x.GetType().Name ));