Base on This Answer, I can get description attribute from class Property
as follow:
public class A
{
[Description(\"My Property\")]
public s
Getting value of objects const field by reflection:
using System;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
public static class AttributeHelper
{
public static TOut GetConstFieldAttributeValue<T, TOut, TAttribute>(
string fieldName,
Func<TAttribute, TOut> valueSelector)
where TAttribute : Attribute
{
var fieldInfo = typeof(T).GetField(fieldName, BindingFlags.Public | BindingFlags.Static);
if (fieldInfo == null)
{
return default(TOut);
}
var att = fieldInfo.GetCustomAttributes(typeof(TAttribute), true).FirstOrDefault() as TAttribute;
return att != null ? valueSelector(att) : default(TOut);
}
}
Example:
public class A
{
[Description("Const Field")]
public const string ConstField = "My Const";
}
class Program
{
static void Main(string[] args)
{
var foo = AttributeHelper.GetConstFieldAttributeValue<A, string, DescriptionAttribute>("ConstField", y => y.Description);
Console.WriteLine(foo);
}
}