最近在做一个项目,涉及到的实体很多,每个实体都需要做一个用户界面接受用户输入,这样在把实体对象展开到界面控件与从界面控件收集实体属性要写的代码就相当的多,但是这些代码都是简单的get与set操作.
于是我写了一个简单的赋值类: 【程序编程相关:ROSE建模文件如何把绝对路径修改成相对】 【推荐阅读:Longhorn的sidebar会有人用】 【扩展信息:hibernate配置顿悟.】 using system; using system.reflection;/**
* 文件名:web\assigner.cs * copyright(c):http://www.hakatasoft.com * 创建人:周树群 * 日期:2004-10-16 18:45 * 修改人: * 日期: * 描述: * 版本:1.0 */ namespace sce.common.web { /// <summary> /// assigner 采用 reflection 机制简化了从 web 页面中的表单中构成对象 /// 一般情况下: /// system.web.ui.webcontrols.textbox txtmyfield1; /// system.web.ui.webcontrols.textbox txtmyfield2; /// myobject myobj = new myobject(); /// myobj.setmyfield1(txtmyfield1.text); /// myobj.setmyfield2(txtmyfield2.text); /// 采用 assigner 来赋值 /// system.web.ui.webcontrols.textbox txtmyfield1; /// system.web.ui.webcontrols.textbox txtmyfield2; /// myobject myobj = new myobject(); /// assigner.assign(page.controls(), "txt", null, myobj, "set", null); /// </summary> public class assigner {private static readonly bool debug = false;
private assigner() {
}#region 支持的类型 /// <summary> /// 一些已知能处理的类型 /// </summary> private static type[] knowntypes = new type[]{ typeof(object), typeof(string), typeof(double), typeof(float), typeof(long), typeof(int), typeof(short), typeof(char), ... 下一页