Blame view

netcore/src/Modularity/Common/NCC.Common/Util/ReflectionUtil.cs 843 Bytes
de2bd2f9   “wangming”   项目初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  using NCC.Dependency;
  using System;
  using System.Linq.Expressions;
  using System.Reflection;
  
  namespace NCC.Common.Util
  {
      /// <summary>
      /// 反射工具
      /// </summary>
      [SuppressSniffer]
      public static class ReflectionUtil
      {
          /// <summary>
          /// 获取字段特性
          /// </summary>
          /// <param name="field"></param>
          /// <typeparam name="T"></typeparam>
          /// <returns></returns>
          public static T GetDescriptionValue<T>(this FieldInfo field) where T : Attribute
          {
              // 获取字段的指定特性,不包含继承中的特性
              object[] customAttributes = field.GetCustomAttributes(typeof(T), false);
  
              // 如果没有数据返回null
              return customAttributes.Length > 0 ? (T)customAttributes[0] : null;
          }
      }
  }