obj.GetType().GetProperties();获取值
时间: 2024-11-05 07:29:10 浏览: 27
`obj.GetType().GetProperties()` 是 C# 中用来获取指定类型 (`obj` 的类型) 所有公共属性(包括字段)的方法。当你调用这个方法时,它返回一个 `PropertyInfo` 集合,每个元素代表该类型的单个属性。
属性通常包含数据成员(字段)及其关联的操作逻辑,比如读取、写入或验证值。`PropertyInfo` 对象提供了访问这些属性值以及修改它们所需的方法。
以下是如何使用这个方法的一个简单示例:
```csharp
object obj = new YourClass();
var properties = obj.GetType().GetProperties();
foreach (PropertyInfo property in properties)
{
// 获取属性名称
string propertyName = property.Name;
// 如果属性可写,尝试获取并打印当前值
if (property.CanWrite)
{
object currentValue = property.GetValue(obj);
Console.WriteLine($"Current value of {propertyName}: {currentValue}");
// 更改值
object newValue = ...; // 根据需求设置新的值
property.SetValue(obj, newValue);
}
}
```
这里,你需要替换 `YourClass` 为实际的对象类型,然后你可以遍历 `PropertyInfo` 集合,根据需要读取或更改属性值。
阅读全文