問題:
在C# 中使用反射來改變屬性值是否可行,假設🎜>
在C# 中使用反射來改變屬性值是否可行,假設屬性名稱是已知?答案:
當然,反射可以啟用此功能。實作方法如下:using System; class Person { public string Name { get; set; } } class Test { static void Main(string[] arg) { Person p = new Person(); var property = typeof(Person).GetProperty("Name"); property.SetValue(p, "Jon", null); Console.WriteLine(p.Name); // Jon } }
注意:
如果目標屬性是非公共的,則需要使用 BindingFlags.NonPublic |取得屬性時的 BindingFlags.Instance。以上是反射能否根據其名稱更改 C# 屬性的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!