使用反射把所有服务接口进行注入

      public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();

            Assembly asm = Assembly.Load(new AssemblyName("IOCDemo.Services"));
            var serivceTypes= asm.GetTypes().Where(t => typeof(IServiceSupport).IsAssignableFrom(t) &&
            !t.GetTypeInfo().IsAbstract);
            foreach (var serviceType in serivceTypes)
            {
                foreach (var intfType in serviceType.GetInterfaces())
                {
                    services.AddSingleton(intfType, serviceType);
                }
            }
        }

 

posted on 2017-11-08 10:36  愚公学编程  阅读(512)  评论(0编辑  收藏  举报