Explorar o código

📱避免type为null时返回500错误

Signed-off-by: KaneLeung <kk.xiaolan@gmail.com>
KaneLeung hai 1 ano
pai
achega
4ed2acd37a
Modificáronse 1 ficheiros con 13 adicións e 10 borrados
  1. 13 10
      Admin.NET/Admin.NET.Core/Service/Const/SysConstService.cs

+ 13 - 10
Admin.NET/Admin.NET.Core/Service/Const/SysConstService.cs

@@ -1,4 +1,4 @@
-// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
+// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
 //
 // 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
 //
@@ -57,15 +57,18 @@ public class SysConstService : IDynamicApiController, ITransient
             var typeList = GetConstAttributeList();
             var type = typeList.FirstOrDefault(u => u.Name == typeName);
 
-            var isEnum = type.BaseType.Name == "Enum";
-            constlist = type.GetFields()?
-                .Where(isEnum, u => u.FieldType.Name == typeName)
-                .Select(u => new ConstOutput
-                {
-                    Name = u.Name,
-                    Code = isEnum ? (int)u.GetValue(BindingFlags.Instance) : u.GetValue(BindingFlags.Instance)
-                }).ToList();
-            _sysCacheService.Set(key, constlist);
+            if (type != null)
+            {
+                var isEnum = type.BaseType.Name == "Enum";
+                constlist = type.GetFields()?
+                    .Where(isEnum, u => u.FieldType.Name == typeName)
+                    .Select(u => new ConstOutput
+                    {
+                        Name = u.Name,
+                        Code = isEnum ? (int)u.GetValue(BindingFlags.Instance) : u.GetValue(BindingFlags.Instance)
+                    }).ToList();
+                _sysCacheService.Set(key, constlist);
+            }
         }
         return await Task.FromResult(constlist);
     }