public static IEnumerable <ICommonAttribute> GetAttributes <TAttribute>(this IHasAttributes hasAttributes) where TAttribute : Attribute
 {
     return(hasAttributes.GetAttributes(typeof(TAttribute)));
 }
 public static IEnumerable <ICommonAttribute> GetAttributes(this IHasAttributes hasAttributes, IHasType attributeHasType)
 {
     return(hasAttributes.GetAttributes(attributeHasType.Type));
 }
 public static IEnumerable <TAttribute> GetCastedAttributes <TAttribute>(this IHasAttributes hasAttributes) where TAttribute : Attribute
 {
     return(hasAttributes.GetAttributes <TAttribute>().Select(attribute => (TAttribute)attribute.Reflection));
 }