使用反射设置属性值
在 C# 中可以使用反射动态设置属性值。这允许您在运行时修改对象的属性,无论其可访问性或可见性如何。
要使用反射设置属性值,请按照以下步骤操作:
以下示例演示如何使用反射来设置 Person 类的 firstName 属性:
using System; using System.Reflection; class Person { public string FirstName { get; set; } } class Test { static void Main(string[] args) { // Create an instance of the Person class Person p = new Person(); // Get the PropertyInfo object for the FirstName property var property = typeof(Person).GetProperty("FirstName"); // Set the value of the FirstName property using reflection property.SetValue(p, "John", null); // Print the value of the FirstName property Console.WriteLine(p.FirstName); // John } }
在此示例中,属性变量保存对 Person 类的 FirstName 属性的引用。使用 p 实例和字符串值“John”调用 SetValue 方法来动态设置属性的值。
以上是如何在 C# 中使用反射动态设置属性值?的详细内容。更多信息请关注PHP中文网其他相关文章!