單個獲取
/**
* 根據屬性名獲取屬性值
** @param fieldname
* @param object
* @return
*/private string getfieldvaluebyfieldname(string fieldname, object object) catch (exception e)
}/**
* 根據屬性名設定屬性值
** @param fieldname
* @param object
* @return
*/private void setfieldvaluebyfieldname(string fieldname, object object, string value) catch (exception e)
}
反射解析list屬性值
//反射獲取list屬性值
public static listreflectgetlist(string fieldname, object object) catch (illegalacces***ception e)
}objectlist.add(listchild);
}return objectlist;
}
反射解析 @parm 註解標記的list指定屬性值
integer batchupdateinfo( @param("userinfolist") listuserinfolist);
/**
* 解析@param 標記list屬性值
* @param primarykeyname
* @param object
* @return
*/public static listgetfieldvaluebyfieldnamelist(string fieldname, object object) catch (illegalacces***ception e)
}objectlist.add(listchild);}}
}}}return objectlist;
}
反射批量修改屬性值
public static t reflection(t targer, map modifymap) }}
} catch (illegalacces***ception e)
return targer;
}
反射呼叫某個方法
/**
* @desc
* @param classname class名稱
* @param classname 方法名稱
* @param args 引數
* @param parametertypes 引數型別
* @return object 結果
*/private static object querydata(string classname, string methodname, object args, class>... parametertypes) catch (exception e)
return invoke;
}
測試
public static void main(string args)
效果如下.
C 反射設定屬性值和獲取屬性值
獲取類中的屬性值 public string getmodelvalue string fieldname,object obj catch 設定類中的屬性值 public bool setmodelvalue string fieldname,string value,object obj cat...
C 反射設定屬性值和獲取屬性值
獲取類中的屬性值 public string getmodelvalue string fieldname,object obj catch 設定類中的屬性值 public bool setmodelvalue string fieldname,string value,object obj cat...
C 反射設定屬性值和獲取屬性值
獲取類中的屬性值 public string getmodelvalue string fieldname,object obj catch 設定類中的屬性值 public bool setmodelvalue string fieldname,string value,object obj cat...