public class MyModule : Module { /// <summary> /// /// </summary> /// <param name="builder"></param> protected override void Load(ContainerBuilder builder) { // 扫描程序集中所有继承自ITransientDependency的类,并以Transient生命周期方式进行注册 builder.RegisterAssemblyTypes(ThisAssembly) .Where(type => typeof(ITransientDependency).IsAssignableFrom(type) && type.IsClass && !type.IsAbstract) .AsImplementedInterfaces() .InstancePerDependency(); // 扫描程序集中所有继承自ISingletonDependency的类,并以Singleton生命周期方式进行注册 builder.RegisterAssemblyTypes(ThisAssembly) .Where(type => typeof(ISingletonDependency).IsAssignableFrom(type) && type.IsClass && !type.IsAbstract) .AsImplementedInterfaces() .SingleInstance(); // 扫描程序集中所有继承自IScopedDependency的类,并以Scoped生命周期方式进行注册 builder.RegisterAssemblyTypes(ThisAssembly) .Where(type => typeof(IScopedDependency).IsAssignableFrom(type) && type.IsClass && !type.IsAbstract) .AsImplementedInterfaces() .InstancePerLifetimeScope(); } }
标签:IsAbstract,autofac,注册,builder,IsAssignableFrom,接口,&&,type From: https://www.cnblogs.com/7hello7/p/17663053.html