public static Maybe <TAttribute> GetAttribute <TAttribute>(this Enum value) where TAttribute : Attribute { Type type = value.GetType(); string name = Enum.GetName(type, (object)value); return(MaybeExtension.FirstOrNothing <TAttribute>(Enumerable.OfType <TAttribute>((IEnumerable)type.GetField(name).GetCustomAttributes(true)))); }
public static Maybe <TAttribute> GetCustomAttribute <TAttribute>(this ICustomAttributeProvider provider, bool inherit = true) where TAttribute : Attribute { return(MaybeExtension.FirstOrNothing <TAttribute>(GetCustomAttributeExtension.GetCustomAttributes <TAttribute>(provider, inherit))); }