如何通过反映属性获取变量/字段名称?

时间:2012-12-16 00:41:35

标签: c# reflection

让我们说你有:
PropertyInfo propInfo; //假设已经使用私有字段的属性初始化了 (private int m_Number

如果我propInfo.PropertyType.Name,我想我会得到类似int32int的内容。
两个问题:

1 即可。如何通过propInfo提取变量名称“m_Number” 注意:一旦我能够通过迭代FieldInfo而不是propInfo来完成此操作。

2 即可。如果我想使用反射来知道给定类的所有类型的字段,那么应该是正确的方法:

A 即可。迭代所有属性(假设每个字段都有属性)
 的即可。直接迭代所有字段。

由于

1 个答案:

答案 0 :(得分:1)

属性不一定与字段相关 - 事实上,在一对函数之上,属性只不过是一个语法糖。

如果您的代码使用某种约定来命名返回属性的变量(例如在m_前面加上它们,就像在您的示例中那样),您可以依赖该约定来检索变量名称。在所有其他情况下,没有直接连接,也无法通过反射API检索该关系。