列出具有应用属性的对象属性
问题描述:
我有一个自定义属性应用于类中的某些属性。检索具有应用属性的属性列表的最有效方法是什么?你是否必须反思对象中的属性列表,然后查询每个属性是否被应用?列出具有应用属性的对象属性
public class Reportable : Attribute
{
}
public class Report
{
[Reportable("WOID")]
public string ClientWOID { get; set; }
[Reportable("ClientName")]
public string ClientName { get; set; }
}
答
你将不得不使用反射(所以你怀疑差不多):
var props = typeof(Report).GetProperties()
.Where(p => p.GetCustomAttributes(typeof(Reportable), false)
.Any());
foreach (var prop in props)
{
Console.WriteLine(prop.Name);
}
男孩真快。当我的互联网连接死亡,我回来了,我看到一个答案接受和一切! – gideon 2012-03-09 04:31:32