public FourthController(ILogger <FourthController> logger, ILoggerFactory loggerFactory , ITestServiceA testServiceA , ITestServiceB testServiceB , ITestServiceC testServiceC , ITestServiceD testServiceD , ITestServiceE testServiceE , IServiceProvider serviceProvider , IConfiguration configuration , IUserService userService , DbContext dbContext ) //, DbContext dbContext) { this._logger = logger; this._loggerFactory = loggerFactory; this._iTestServiceA = testServiceA; this._iTestServiceB = testServiceB; this._iTestServiceC = testServiceC; this._iTestServiceD = testServiceD; this._iTestServiceE = testServiceE; this._iServiceProvider = serviceProvider; this._iConfiguration = configuration; this._dbContext = dbContext; this._iUserService = userService; }
public UserDAL(ITestServiceA testServiceA, ITestServiceB testServiceB, ITestServiceC testServiceC, ITestServiceD testServiceD, ITestServiceE testServiceE) { this._iTestServiceA = testServiceA; this._iTestServiceB = testServiceB; this._iTestServiceC = testServiceC; this._iTestServiceD = testServiceD; this._iTestServiceE = testServiceE; }
public FourthController(ILogger <FourthController> logger , ITestServiceA testServiceA , ITestServiceB testServiceB , ITestServiceC testServiceC , ITestServiceD testServiceD , ITestServiceE testServiceE , IA a) { this._logger = logger; this._iTestServiceA = testServiceA; this._iTestServiceB = testServiceB; this._iTestServiceC = testServiceC; this._iTestServiceD = testServiceD; this._iTestServiceE = testServiceE; this._ia = a; }
public SecondController(ILogger <SecondController> logger, ILoggerFactory loggerFactory, ITestServiceA testServiceA, ITestServiceB testServiceB, ITestServiceC testServiceC, ITestServiceD testServiceD, ITestServiceE testServiceE, IServiceProvider iServiceProvider ) { _logger = logger; this._loggerFactory = loggerFactory; this._iTestServiceA = testServiceA; this._iTestServiceB = testServiceB; this._iTestServiceC = testServiceC; this._iTestServiceD = testServiceD; this._iTestServiceE = testServiceE; this._iServiceProvider = iServiceProvider; }
public ThirdController(ILogger <ThirdController> logger, ILoggerFactory loggerFactory , ITestServiceA testServiceA , ITestServiceB testServiceB , ITestServiceC testServiceC , ITestServiceD testServiceD , ITestServiceE testServiceE , IServiceProvider serviceProvider , IConfiguration configuration) { this._logger = logger; this._loggerFactory = loggerFactory; this._iTestServiceA = testServiceA; this._iTestServiceB = testServiceB; this._iTestServiceC = testServiceC; this._iTestServiceD = testServiceD; this._iTestServiceE = testServiceE; this._iServiceProvider = serviceProvider; this._iConfiguration = configuration; }
/// <summary> /// 来自DI依赖注入---构造函数注入---构造A对象依赖B对象,自动初始化B对象传入 /// /// 有个容器,负责构造SecondController(反射)--反射构造函数--需要B--再构造B---然后再构造A /// </summary> /// <param name="logger"></param> /// <param name="loggerFactory"></param> public SecondController(ILogger <SecondController> logger, ILoggerFactory loggerFactory , ITestServiceA testServiceA , ITestServiceB testServiceB , ITestServiceC testServiceC , ITestServiceD testServiceD , ITestServiceE testServiceE , IServiceProvider serviceProvider) //一次注入这么多,可能用不上,能不能我自己生成? 不建议, //1 大部分对象生成其实很快,且不占资源--特殊可以自己控制 //2 对象生命周期不同,注入的是跟controller的,action是跟方法的 { this._logger = logger; this._loggerFactory = loggerFactory; this._iTestServiceA = testServiceA; this._iTestServiceB = testServiceB; this._iTestServiceC = testServiceC; this._iTestServiceD = testServiceD; this._iTestServiceE = testServiceE; this._iServiceProvider = serviceProvider; }
public TestServiceD(ITestServiceE testServiceE) { }
public void ShowMethodTest(ITestServiceE testServiceE) { testServiceE.Show(); }
public void Init(ITestServiceE testServiceE) { _iTestServiceE = testServiceE; Console.WriteLine($"this is {testServiceE.GetType ().Name}被构造。。。"); }
public IocTestAlias(ITestServiceE serviceE, [AppointParameterValue] int parameterValue) { _serviceE = serviceE; _parameterValue = parameterValue; }
public void TestMethod(ITestServiceE serviceE) { _serviceE = serviceE; }
//[AppointMethod] //public void IocTestAliasMethod([AppointParameterAlias("2")]ITestServiceE serviceE) //{ // _serviceE = serviceE; //} public void TestMethod(ITestServiceE serviceE) { throw new NotImplementedException(); }