如何在 C# 中通过反射设置属性值?
System.Reflection 命名空间包含可让你获取应用程序信息以及动态添加类型、值和对象到应用程序的类。
反射对象用于在运行时获取类型信息。可访问正在运行程序元数据的类位于 System.Reflection 命名空间中。
反射允许在运行时查看属性信息。
反射允许检查程序集中各种类型并实例化这些类型。
反射允许方法和属性的延迟绑定。
反射允许在运行时创建新类型,然后使用这些类型执行一些任务。
示例
GetProperty(String)
搜索具有指定名称的公共属性。
GetType(String, Boolean)
获取具有指定名称的 Type 对象,位于程序集实例中,并且如果没有找到类型,可选择引发异常。
SetValue(Object, Object)
设置指定对象的属性值。
class Program{
static void Main(string[] args){
User user = new User();
Type type = user.GetType();
PropertyInfo prop = type.GetProperty("Name");
prop.SetValue(user, "Bangalore", null);
System.Console.WriteLine(user.Name);
Console.ReadLine();
}
}
class User{
public int Id { get; set; }
public string Name { get; set; }
}输出
Bangalore
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP