Пример #1
0
        public static IList <CustomAttributeData> __GetCustomAttributes(MemberInfo member, Type attributeType, bool inherit)
        {
            if (!inherit || !IsInheritableAttribute(attributeType))
            {
                return(member.GetCustomAttributesData(attributeType));
            }
            List <CustomAttributeData> list = new List <CustomAttributeData>();

            for (; ;)
            {
                list.AddRange(member.GetCustomAttributesData(attributeType));
                Type type = member as Type;
                if (type != null)
                {
                    type = type.BaseType;
                    if (type == null)
                    {
                        return(list);
                    }
                    member = type;
                    continue;
                }
                MethodInfo method = member as MethodInfo;
                if (method != null)
                {
                    MemberInfo prev = member;
                    method = method.GetBaseDefinition();
                    if (method == null || method == prev)
                    {
                        return(list);
                    }
                    member = method;
                    continue;
                }
                return(list);
            }
        }
Пример #2
0
		public static IList<CustomAttributeData> __GetCustomAttributes(MemberInfo member, Type attributeType, bool inherit)
		{
			if (!inherit || !IsInheritableAttribute(attributeType))
			{
				return member.GetCustomAttributesData(attributeType);
			}
			List<CustomAttributeData> list = new List<CustomAttributeData>();
			for (; ; )
			{
				list.AddRange(member.GetCustomAttributesData(attributeType));
				Type type = member as Type;
				if (type != null)
				{
					type = type.BaseType;
					if (type == null)
					{
						return list;
					}
					member = type;
					continue;
				}
				MethodInfo method = member as MethodInfo;
				if (method != null)
				{
					MemberInfo prev = member;
					method = method.GetBaseDefinition();
					if (method == null || method == prev)
					{
						return list;
					}
					member = method;
					continue;
				}
				return list;
			}
		}
Пример #3
0
 public static IList <CustomAttributeData> GetCustomAttributes(MemberInfo member)
 {
     return(member.GetCustomAttributesData(null));
 }
Пример #4
0
		public static IList<CustomAttributeData> GetCustomAttributes(MemberInfo member)
		{
			return member.GetCustomAttributesData(null);
		}