在 C# 中,memberInfo.GetValue()
是一个方法,用于获取关于特定成员(如字段或属性)的值。memberInfo
是一个 System.Reflection.MemberInfo
类型的对象,代表一个类的成员(如字段、属性、方法等)。
GetValue()
方法的作用是获取该成员的值。该方法接受一个参数,即该成员所属的对象实例。如果该成员是静态的,则不需要传入该参数。
例如,假设有一个名为 Person
的类,其中包含一个名为 Name
的属性,可以使用以下代码获取该属性的值:
Type personType = typeof(Person);
PropertyInfo nameProperty = personType.GetProperty("Name");
Person person = new Person { Name = "John" };
object nameValue = nameProperty.GetValue(person);
在上面的代码中,personType
是 Person
类型的 System.Type
对象。nameProperty
是 Name
属性的 System.Reflection.PropertyInfo
对象。nameValue
是一个 object
类型的变量,用于存储 Name
属性的值。
需要注意的是,GetValue()
方法返回的值的类型是 object
,因此需要进行类型转换才能使用。例如,如果 Name
属性是一个字符串类型,则可以将 nameValue
转换为字符串类型,如下所示:
string nameString = (string)nameValue;
总之,memberInfo.GetValue()
是一个用于获取成员值的方法,需要传入一个 System.Reflection.MemberInfo
类型的对象和一个成员所属的对象实例。