/// <summary> /// 从类型所有的装饰特性中,获取某类型的所有匹配特性 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="typeDecoratorInfo"></param> /// <param name="decoratorAttrType"></param> /// <returns></returns> public static List <T> GetDecorateAttrs <T>(this TypeDecoratorInfo typeDecoratorInfo) where T : BaseDecorateAttribute { var attrs = typeDecoratorInfo.TypeDecoratorAttrs.Where(a => a.GetType() == typeof(T)); return(attrs == null ? null : attrs.Cast <T>().ToList()); }
/// <summary> /// 从类型所有的装饰特性中,获取某类型的第一个匹配特性 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="typeDecoratorInfo"></param> /// <param name="decoratorAttrType"></param> /// <returns></returns> public static T GetDecorateAttr <T>(this TypeDecoratorInfo typeDecoratorInfo) where T : BaseDecorateAttribute { var attr = typeDecoratorInfo.TypeDecoratorAttrs.SingleOrDefault(a => a.GetType() == typeof(T)); return(attr == null ? null : (T)attr); }