[深入学习C#]利用反射给对象赋值
生活随笔
收集整理的這篇文章主要介紹了
[深入学习C#]利用反射给对象赋值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉載自詩人江湖老,原文地址
C#中利用反射能夠獲取對象的屬性信息,也可以利用反射給對象賦值。
我們如果想利用凡是給一個對象屬性賦值可以通過PropertyInfo.SetValue()方式進行賦值,但要注意值的類型要與屬性保持一致。
假設我們有如下一個結構:
下面一段代碼,展示了如何利用反射來給對象賦值:
pi.SetValue(item, Convert.ChangeType(pi.GetValue(p), pi.PropertyType))
pi.SetValue(item, Convert.ChangeType(pi.GetValue(p), Nullable.GetUnderlyingType(pi.PropertyType)))
這兩行代碼,分別是給非泛型屬性賦值和給泛型屬性賦值。
總結
以上是生活随笔為你收集整理的[深入学习C#]利用反射给对象赋值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ExecutorService源码解读
- 下一篇: SQL Server语句