1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | /// <summary> /// 用反射方式取得屬性 /// <para>Exception:屬性名稱不存在</para> /// <para>Exception:屬性型態錯誤</para> /// </summary> /// <typeparam name="T"></typeparam> /// <param name="obj">欲取得屬性的物件</param> /// <param name="PropertyName">屬性名稱</param> /// <returns></returns> private T GetProperty<T>(object obj, string PropertyName) { // 判斷有無該屬性名稱 PropertyInfo propertyInfo = obj.GetType().GetProperty(PropertyName); if (propertyInfo == null) { throw new Exception("屬性名稱:" + PropertyName + ",不存在。"); } // 判斷型態是否正確 object tmp = propertyInfo.GetValue(obj); if (!(tmp is T)) { throw new Exception("屬性型態錯誤。"); } return (T)tmp; } |
2016年6月4日 星期六
使用反射取得物件屬性
訂閱:
張貼留言
(
Atom
)
沒有留言 :
張貼留言