【发布时间】:2011-01-17 05:53:31
【问题描述】:
给一个像下面这样的类,我怎样才能找到一个特定属性的名称?
public class Student
{
public int Grade
{
get;
set;
}
public string TheNameOfTheGradeProperty
{
get
{
return ????
}
}
// More properties..
}
所以我想从 TheNameOfTheGradeProperty 属性中返回字符串“Grade”。我问的原因是我不想使用硬编码字符串,而是使用 lambda 表达式或其他东西。
我怎样才能做到这一点?
【问题讨论】:
-
除非您以某种方式引用要返回其名称的属性,否则这是不可能的,如果您这样做,您最好只使用硬编码的字符串。您可以使用反射,但目前对我来说似乎毫无意义。你有什么要求?
-
@johnc 有时在数据绑定时需要属性名称,并非所有重构工具在重命名属性时都会考虑字符串文字
-
@johnc ...除了下面显示如何在不使用硬编码字符串的情况下完成请求的答案。
标签: c# .net reflection properties propertyinfo