/// <summary> /// 注册所有的程序集下的DbContext /// </summary> /// <param name="instance"></param> /// <param name="assemblies"></param> public static void RegisterDbContext(this IIocManager instance, params Assembly[] assemblies) { assemblies.Foreach((assembly) => { var dbContextTypes = assembly.GetTypes().Where(type => typeof(DbContext).IsAssignableFrom(type)).ToArray(); instance.RegisterTypeAsObject(false, dbContextTypes); }); }
public override void PreInit(IIocManager instance) { instance.RegisterGeneric(typeof(MyServiceGeneric <>), typeof(IServiceGeneric <>)); instance.RegisterType(typeof(MyServiceGeneric2), typeof(IServiceGeneric2 <int>)); instance.RegisterGeneric(typeof(MyObjectProvider <>), typeof(IObjectProvider <>)); instance.RegisterGeneric(typeof(RepositoryA <,>), typeof(IRepository <,>), "RepositoryA"); instance.RegisterGeneric(typeof(RepositoryB <,>), typeof(IRepository <,>), "RepositoryB"); instance.RegisterTypeAsObject(false, Assembly.GetExecutingAssembly().GetTypes().Where(c => typeof(MyDbObject).IsAssignableFrom(c)).ToArray()); instance.RegisterAssemblies(Assembly.GetExecutingAssembly()); base.PreInit(instance); }