c# 反射对象 和属性,用代码展示
时间: 2024-09-10 10:21:31 浏览: 46
C#反射是指在运行时动态地获取类型信息并操作对象的能力。在C#中,可以使用反射来获取对象的属性信息并对其进行操作。以下是一个简单的示例代码:
```
using System;
using System.Reflection;
class MyClass
{
public int MyProperty { get; set; }
}
class Program
{
static void Main()
{
// 创建一个 MyClass 的实例
MyClass obj = new MyClass();
// 获取 MyClass 类型的 Type 对象
Type type = typeof(MyClass);
// 获取 MyProperty 属性的 PropertyInfo 对象
PropertyInfo propInfo = type.GetProperty("MyProperty");
// 设置 MyProperty 属性的值为 42
propInfo.SetValue(obj, 42);
// 获取 MyProperty 属性的值并输出
Console.WriteLine(propInfo.GetValue(obj));
}
}
```
在上面的示例代码中,我们首先创建了一个 MyClass 的实例,然后获取了 MyClass 类型的 Type 对象。接着,我们使用 Type.GetProperty 方法获取了 MyProperty 属性的 PropertyInfo 对象,并使用 PropertyInfo.SetValue 方法设置了 MyProperty 属性的值为 42。最后,我们使用 PropertyInfo.GetValue 方法获取了 MyProperty 属性的值并输出。
阅读全文