public static void Main()
var thisClass = new MyTestClass();
var thisEnum = MyTestEnum.Test;
var result1 = thisClass.GetCustomAttributeByName("MyTestAttribute");
var result2 = thisClass.GetCustomAttributeByName("MyTestAttribute", false);
var result3 = thisClass.GetType().GetCustomAttributeByName("MyTestAttribute");
var result4 = thisClass.GetType().GetCustomAttributeByName("MyTestAttribute", false);
var result5 = thisEnum.GetCustomAttributeByName("MyTestAttribute");
var result6 = thisEnum.GetCustomAttributeByName("MyTestAttribute", false);
Console.WriteLine(((MyTestAttribute) result1).Text);
Console.WriteLine(((MyTestAttribute) result2).Text);
Console.WriteLine(((MyTestAttribute) result3).Text);
Console.WriteLine(((MyTestAttribute) result4).Text);
Console.WriteLine(((MyTestAttribute) result5).Text);
Console.WriteLine(((MyTestAttribute) result6).Text);
[AttributeUsage(AttributeTargets.All, AllowMultiple = true)]
public class MyTestAttribute : Attribute
public MyTestAttribute(string text)