現在、基本クラスに依存性を注入する必要がある場合は、次のコードを使用します。
public class BaseClass
{
readonly IService _service;
public BaseClass(IService service)
{
_service = service;
}
}
public class A : BaseClass
{
public A(IService service) : base(service)
{
}
}
public class B : BaseClass
{
public B(IService service) : base(service)
{
}
}
すべてのサブクラスで多くの重複コードを作成する必要があります。これらの重複コードを回避するために、CommonServiceLocatorを使用して依存関係を基本クラスに注入できると思います。
public class BaseClass
{
readonly IService _service;
public BaseClass()
{
_service = ServiceLocator.Current.GetInstance<IService>();
}
}
public class A : BaseClass
{
}
public class B : BaseClass
{
}
これははるかに簡単なようですが、これが良い習慣かどうかはわかりません。
ありがとう