代码重构处理
parameters[0].Value = model.a;
parameters[1].Value = model.b;
parameters[2].Value = model.d;
parameters[3].Value = model.e;
parameters[4].Value = model.f;
parameters[5].Value = model.g;
parameters[6].Value = model.h;
parameters[7].Value = model.u;
parameters[8].Value = model.i;
parameters[9].Value = model.o;
parameters[10].Value = model.p;
parameters[11].Value = model.l;
parameters[12].Value = model.c;
parameters[13].Value = model.x;
我跟的项目里有很多地方以前是这样的代码.有时候中间会删掉一个.就不连续了.
我想换成这样的形式.
int i=-1;
parameters[i++].Value = model.a;
parameters[i++].Value = model.b;
parameters[i++].Value = model.d;
parameters[i++].Value = model.e;
parameters[i++].Value = model.f;
我也想过用for循环.但要取model的成员组就更麻烦了.还是照原来的代码改成i++好了.请大神指教. --------------------编程问答-------------------- 代码错误,把i赋值为0或者参数调用++i --------------------编程问答-------------------- 对,应该是++i. --------------------编程问答-------------------- public SqlParameter[] SetValueParam(object objinfo)
{
Type type = objinfo.GetType();
SqlParameter[] param = new SqlParameter[type.GetProperties().Length];
int i = 0;
foreach (PropertyInfo proper in type.GetProperties())
{
param[i]=new SqlParameter("@"+proper.Name,proper.GetValue(objinfo,null));
i++;
}
return param;
}
mode model=new mode();
model.a=xx;
mode2.b=xx;
SqlParameter[] sqlparqm=SetValueParam(model); --------------------编程问答--------------------
我想用[++i]的形式.因为有些成员比如ID.当前时间等字段是不用加SqlParameter的 --------------------编程问答--------------------
int i=0;--------------------编程问答-------------------- 我想要字符处理.复制这个干什么. --------------------编程问答-------------------- 不要把它当成代码.把它当成字符来处理. --------------------编程问答-------------------- 用反射,自己写个DBFieldAttribute类作字段映射
parameters[i++].Value = model.a;
parameters[i++].Value = model.b;
parameters[i++].Value = model.d;
parameters[i++].Value = model.e;
parameters[i++].Value = model.f;
加在model的字段上,用以说明Sql参数的名称,类型,及默认值
反射的时候,只处理那些加了DBFieldAttribute的字段
也可以用Net的Entity framework --------------------编程问答-------------------- 求正则高手出现
补充:.NET技术 , C#