using System.ComponentModel.DataAnnotations;
public static void Main()
Console.WriteLine(obj.GetAttributeFrom<DisplayAttribute>(nameof(Student.Name)).Name);
Console.WriteLine(obj.Name);
Console.WriteLine(obj.GetAttributeFrom<DisplayAttribute>(nameof(Student.Birthday)).Name);
Console.WriteLine(obj.Birthday);
public string Name { get; set; }
public DateTime Birthday { get; set; }
public static class ObjectExtension
public static T GetAttributeFrom<T>(this object instance, string propertyName) where T : Attribute
var attributeType = typeof(T);
var property = instance.GetType().GetProperty(propertyName);
if (property == null) return default(T);
return (T) property.GetCustomAttributes(attributeType, false).FirstOrDefault();