c#反射找到类中的值
时间: 2023-10-08 17:06:41 浏览: 48
要使用反射来找到类中的值,你可以按照以下步骤进行操作:
1. 获取类的 Type 对象:使用 typeof 运算符或者调用对象的 GetType() 方法来获取类的 Type 对象。例如,假设你要查找一个名为 MyClass 的类的值,你可以使用以下代码获取其 Type 对象:
```csharp
Type type = typeof(MyClass);
```
2. 获取类的成员信息:使用 Type 对象的 GetField、GetProperty 或者 GetMember 方法来获取类的成员信息。这些方法会返回一个 MemberInfo 数组,其中包含了类的字段、属性或者其他成员的信息。例如,如果你要获取 MyClass 类中名为 "myField" 的字段信息,你可以使用以下代码:
```csharp
FieldInfo fieldInfo = type.GetField("myField");
```
3. 获取字段或属性的值:如果你已经获取到了字段或属性的信息,你可以使用 GetValue 方法来获取其值。例如,如果你已经获取到了 MyClass 类中名为 "myField" 的字段信息 fieldInfo,你可以使用以下代码来获取其值:
```csharp
object fieldValue = fieldInfo.GetValue(instance);
```
其中 instance 是 MyClass 类的实例对象,如果字段是静态的,可以传入 null。
这样,你就可以使用反射找到类中的值了。请注意,在使用反射时,要确保你有足够的权限来访问类的成员。