link #I1LT51

This commit is contained in:
百小僧
2020-06-28 22:18:41 +08:00
parent bbb9f3e33b
commit 1497dd3c1c
2 changed files with 7 additions and 8 deletions

View File

@@ -26,26 +26,26 @@ namespace Fur.DependencyInjection.Modules
/// <param name="applicationTypes">应用类型集合</param>
private void RegisterBaseTypes(ContainerBuilder builder, IEnumerable<ApplicationTypeInfo> applicationTypes)
{
var baseTypes = applicationTypes.Where(t => !t.IsGenericType);
var baseTypes = applicationTypes.Where(t => !t.IsGenericType).Select(u => u.Type);
builder.RegisterTypes(baseTypes.Where(t => typeof(ITransientLifetime).IsAssignableFrom(t.Type)).Select(u => u.Type).ToArray())
builder.RegisterTypes(baseTypes.Where(t => typeof(ITransientLifetime).IsAssignableFrom(t)).ToArray())
.AsImplementedInterfaces()
.InstancePerDependency();
builder.RegisterTypes(baseTypes.Where(t => typeof(ITransientAsSelfLifetime).IsAssignableFrom(t.Type)).Select(u => u.Type).ToArray())
builder.RegisterTypes(baseTypes.Where(t => typeof(ITransientAsSelfLifetime).IsAssignableFrom(t)).ToArray())
.AsSelf()
.InstancePerDependency();
builder.RegisterTypes(baseTypes.Where(t => typeof(IScopedLifetime).IsAssignableFrom(t.Type)).Select(u => u.Type).ToArray())
builder.RegisterTypes(baseTypes.Where(t => typeof(IScopedLifetime).IsAssignableFrom(t)).ToArray())
.AsImplementedInterfaces()
.InstancePerLifetimeScope();
builder.RegisterTypes(baseTypes.Where(t => typeof(IScopedAsSelfLifetime).IsAssignableFrom(t.Type)).Select(u => u.Type).ToArray())
builder.RegisterTypes(baseTypes.Where(t => typeof(IScopedAsSelfLifetime).IsAssignableFrom(t)).ToArray())
.AsSelf()
.InstancePerLifetimeScope();
builder.RegisterTypes(baseTypes.Where(t => typeof(ISingletonLifetime).IsAssignableFrom(t.Type)).Select(u => u.Type).ToArray())
builder.RegisterTypes(baseTypes.Where(t => typeof(ISingletonLifetime).IsAssignableFrom(t)).ToArray())
.AsImplementedInterfaces()
.SingleInstance();
builder.RegisterTypes(baseTypes.Where(t => typeof(ISingletonAsSelfLifetime).IsAssignableFrom(t.Type)).Select(u => u.Type).ToArray())
builder.RegisterTypes(baseTypes.Where(t => typeof(ISingletonAsSelfLifetime).IsAssignableFrom(t)).ToArray())
.AsSelf()
.SingleInstance();
}

View File

@@ -6,7 +6,6 @@ namespace Fur
{
protected override void Load(ContainerBuilder builder)
{
}
}
}