Check if property has attribute

前端 未结 8 1553
刺人心
刺人心 2020-11-28 03:03

Given a property in a class, with attributes - what is the fastest way to determine if it contains a given attribute? For example:

    [IsNotNullable]
    [I         


        
8条回答
  •  生来不讨喜
    2020-11-28 03:45

    You can use a common (generic) method to read attribute over a given MemberInfo

    public static bool TryGetAttribute(MemberInfo memberInfo, out T customAttribute) where T: Attribute {
                    var attributes = memberInfo.GetCustomAttributes(typeof(T), false).FirstOrDefault();
                    if (attributes == null) {
                        customAttribute = null;
                        return false;
                    }
                    customAttribute = (T)attributes;
                    return true;
                }
    

提交回复
热议问题