C#的PropertyInfo类用于反射一个类的属性信息,包括属性名称、数据类型、访问修饰符等,使用PropertyInfo类,可以在运行时动态地获取和设置类的属性值。
C#的PropertyInfo类用于反射一个类的属性信息,包括属性名称、数据类型、访问修饰符等。
以下是PropertyInfo类的主要成员:
Name:获取或设置属性名称。
DeclaringType:获取定义该属性的类的类型。
PropertyType:获取属性的数据类型。
IsStatic:获取一个值,指示该属性是否为静态属性。
CanRead:获取一个值,指示该属性是否可读。
CanWrite:获取一个值,指示该属性是否可写。
GetValue(Object):返回指定对象上此属性的值。
SetValue(Object, Object):设置指定对象上此属性的值。
使用PropertyInfo类,可以在运行时动态地获取和设置类的属性值。例如,可以通过以下方式获取属性值:
PropertyInfo propertyInfo = typeof(Person).GetProperty("Name"); string name = (string)propertyInfo.GetValue(person);
上述代码使用typeof运算符获取Person类的Type对象,并通过GetProperty方法获取Name属性的PropertyInfo对象。然后使用GetValue方法获取person对象的Name属性值,并将其强制转换为string类型。
另外,还可以使用SetValue方法设置属性值,例如:
PropertyInfo propertyInfo = typeof(Person).GetProperty("Age"); propertyInfo.SetValue(person, 18);
上述代码使用GetProperty方法获取Age属性的PropertyInfo对象,并使用SetValue方法将person对象的Age属性值设置为18。
以上是C#中的PropertyInfo类的详细内容。更多信息请关注PHP中文网其他相关文章!