Unity构造函数注入代码示例
如果使用 Unity 实例化一个类,该类的构造函数依赖一个或多个其他类,则 Unity 会为构造函数自动创建参数中指定的被依赖的类的实例。
例如,下面的代码展示了一个名为 "CustomerService" 的类,其构造函数的入参依赖于一个名为 "LoggingService" 的类。
public class CustomerService
{
public CustomerService(LoggingService log)
{
log.WriteToLog("I'm an injected concrete logging service.");
}
}
在运行时,可使用 Unity 容器的 Resolve 方法创建 "CustomerService" 类的实例,则一个 "LoggingService" 类的具体实现会被注入到 "CustomerService" 实例中。
IUnityContainer container = new UnityContainer();
CustomerService customer = container.Resolve<CustomerService>();