如何在 C# 中通过反射设置属性值?
csharpserver side programmingprogramming
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