C# 反射,动态获得某一字段的名称
时间: 2024-03-11 16:49:08 浏览: 21
在 C# 中,可以使用反射机制来动态获取某一字段的名称。具体可以通过以下代码实现:
```csharp
using System;
using System.Reflection;
class MyClass
{
public int MyField;
}
class Program
{
static void Main(string[] args)
{
Type type = typeof(MyClass);
FieldInfo fieldInfo = type.GetField("MyField"); // 获取字段信息
string fieldName = fieldInfo.Name; // 获取字段名称
Console.WriteLine(fieldName); // 输出 MyField
}
}
```
在上述代码中,首先使用 typeof(MyClass) 方法获取 MyClass 的 Type 对象。然后,使用该对象的 GetField 方法获取 MyField 字段的 FieldInfo 对象。最后,通过 FieldInfo 对象的 Name 属性获取 MyField 字段的名称。
需要注意的是,如果要获取的字段不存在,GetField 方法将会返回 null,因此需要对返回值进行判断。此外,如果要获取的字段是私有的,需要使用 BindingFlags.NonPublic 标志来获取该字段。