C#写一个工具类,该类包括一个方法,方法接受两个参数,分别是对象和字段名,方法的功能是通过反射返回该字段的值
时间: 2024-09-26 21:12:03 浏览: 33
要创建一个C#工具类,用于通过反射获取指定对象的特定字段值,你可以按照以下步骤编写:
```csharp
using System;
using System.Reflection;
public static class FieldValueExtractor
{
public static object GetFieldValue(object obj, string fieldName)
{
// 使用反射获取对象的类型信息
Type objectType = obj.GetType();
// 获取指定类型的FieldInfo实例
FieldInfo fieldInfo = objectType.GetField(fieldName);
// 检查字段是否存在
if (fieldInfo != null)
{
// 如果存在,则尝试获取并返回字段的值
return fieldInfo.GetValue(obj);
}
else
{
throw new ArgumentException($"无法找到对象'{obj}'上的字段'{fieldName}'");
}
}
}
```
现在,你可以这样使用这个工具类来获取对象的字段值:
```csharp
Person P = new Person();
string nameField = "Name";
Console.WriteLine(FieldValueExtractor.GetFieldValue(P, nameField)); // 输出:如果P.Name的值为"alien"
```
阅读全文