From 8502cc1e03806b8a22db7eb06319e43b7df33535 Mon Sep 17 00:00:00 2001 From: "239573049@qq.com" <239573049@qq.com> Date: Sat, 9 Jul 2022 15:07:29 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=89=A9=E5=B1=95Type=E6=96=B9=E6=B3=95IsA?= =?UTF-8?q?ssignableFrom?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Token.Module/Extensions/DependencyExtensions.cs | 12 ++++++------ src/Token.Module/Extensions/InterfaceExtensions.cs | 9 +++++++++ .../ServiceCollectionApplicationExtensions.cs | 5 ++--- 3 files changed, 17 insertions(+), 9 deletions(-) create mode 100644 src/Token.Module/Extensions/InterfaceExtensions.cs diff --git a/src/Token.Module/Extensions/DependencyExtensions.cs b/src/Token.Module/Extensions/DependencyExtensions.cs index eb6a862..a3ac625 100644 --- a/src/Token.Module/Extensions/DependencyExtensions.cs +++ b/src/Token.Module/Extensions/DependencyExtensions.cs @@ -24,30 +24,30 @@ public static class DependencyExtensions if (interfaces != null) { - if (typeof(ITransientDependency).IsAssignableFrom(t)) + if (t.IsAssignableFrom()) { services.AddTransient(interfaces, t); } - else if (typeof(IScopedDependency).IsAssignableFrom(t)) + else if (t.IsAssignableFrom()) { services.AddScoped(interfaces, t); } - else if (typeof(ISingletonDependency).IsAssignableFrom(t)) + else if (t.IsAssignableFrom()) { services.AddSingleton(interfaces, t); } } else { - if (typeof(ITransientDependency).IsAssignableFrom(t)) + if (t.IsAssignableFrom()) { services.AddTransient(t); } - else if (typeof(IScopedDependency).IsAssignableFrom(t)) + else if (t.IsAssignableFrom()) { services.AddScoped(t); } - else if (typeof(ISingletonDependency).IsAssignableFrom(t)) + else if (t.IsAssignableFrom()) { services.AddSingleton(t); } diff --git a/src/Token.Module/Extensions/InterfaceExtensions.cs b/src/Token.Module/Extensions/InterfaceExtensions.cs new file mode 100644 index 0000000..348c6d0 --- /dev/null +++ b/src/Token.Module/Extensions/InterfaceExtensions.cs @@ -0,0 +1,9 @@ +using System; + +namespace Token.Module.Extensions; + +public static class InterfaceExtensions +{ + public static bool IsAssignableFrom(this Type t) => + typeof(T).IsAssignableFrom(t); +} \ No newline at end of file diff --git a/src/Token.Module/Extensions/ServiceCollectionApplicationExtensions.cs b/src/Token.Module/Extensions/ServiceCollectionApplicationExtensions.cs index be7b510..976ad2a 100644 --- a/src/Token.Module/Extensions/ServiceCollectionApplicationExtensions.cs +++ b/src/Token.Module/Extensions/ServiceCollectionApplicationExtensions.cs @@ -37,8 +37,7 @@ public static class ServiceCollectionApplicationExtensions private static async Task GetModuleTypeAsync(Type type,List types) { - var iTokenModule = typeof(ITokenModule); - if (!iTokenModule.IsAssignableFrom(type)) + if (!type.IsAssignableFrom()) { return; } @@ -49,7 +48,7 @@ public static class ServiceCollectionApplicationExtensions // 获取DependOn特性注入的模块 var attributes = type.GetCustomAttributes().OfType() - .SelectMany(x => x.Type).Where(x=>iTokenModule.IsAssignableFrom(x)); + .SelectMany(x => x.Type).Where(x=>x.IsAssignableFrom()); foreach (var t in attributes) -- Gitee From bed49a13eed43710a042919d343c723366bb829d Mon Sep 17 00:00:00 2001 From: "239573049@qq.com" <239573049@qq.com> Date: Sat, 9 Jul 2022 15:11:39 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0null=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Token.Module/TokenModule.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Token.Module/TokenModule.cs b/src/Token.Module/TokenModule.cs index 1e1df13..140fbd6 100644 --- a/src/Token.Module/TokenModule.cs +++ b/src/Token.Module/TokenModule.cs @@ -11,7 +11,7 @@ public abstract class TokenModule : ITokenModule public virtual Task ConfigureServicesAsync(IServiceCollection services) { - _serviceCollection = services; + _serviceCollection = services ?? throw new ArgumentNullException(nameof(services)); ConfigureServices(services); return Task.CompletedTask; } -- Gitee