示例#1
0
        public static IEnumerable <CustomAttributeReflector> GetCustomAttributeReflectors(this ICustomAttributeReflectorProvider provider, Type attributeType)
        {
            var reflectors = provider.GetCustomAttributeReflectors();

            if (reflectors.Length == 0)
            {
                return(reflectors);
            }
            else
            {
                var attrToken = attributeType.TypeHandle;
                return(reflectors.Where(i => i.Tokens.Contains(attrToken)));
            }
        }
示例#2
0
 public static IEnumerable <Attribute> GetCustomAttributes(this ICustomAttributeReflectorProvider provider, Type attributeType)
 {
     return(provider.GetCustomAttributeReflectors(attributeType).Select(i => i.Invoke()));
 }
示例#3
0
 public static bool IsDefined(this ICustomAttributeReflectorProvider provider, Type attributeType)
 {
     return(provider.GetCustomAttributeReflectors(attributeType).FirstOrDefault() != null);
 }
 public static Attribute GetCustomAttribute(this ICustomAttributeReflectorProvider provider, Type attributeType)
 {
     return(provider.GetCustomAttributeReflectors(attributeType).Select(i => i.Invoke()).FirstOrDefault());
 }