c#遍历对象字段获取字段值
时间: 2023-07-04 08:23:51 浏览: 202
在 C# 中,可以使用反射来遍历对象字段并获取字段的值。具体实现步骤如下:
1. 使用Type.GetType()方法获取对象的类型。
2. 使用Activator.CreateInstance()方法创建对象的实例。
3. 使用Type.GetFields()方法获取对象的所有字段。
4. 遍历每个字段,使用FieldInfo.GetValue()方法获取字段的值。
下面是一个简单的示例代码:
```csharp
using System;
using System.Reflection;
class MyClass
{
public int MyField1 = 42;
public string MyField2 = "Hello";
}
class Program
{
static void Main(string[] args)
{
MyClass obj = new MyClass();
Type type = obj.GetType();
FieldInfo[] fields = type.GetFields(BindingFlags.Public | BindingFlags.Instance);
foreach (FieldInfo field in fields)
{
object value = field.GetValue(obj);
Console.WriteLine("{0} = {1}", field.Name, value);
}
}
}
```
这个程序会输出对象的所有公共字段及其值。在示例中,输出结果为:
```
MyField1 = 42
MyField2 = Hello
```
需要注意的是,使用反射来访问对象的字段可能会影响程序性能,应该谨慎使用。
阅读全文