我先从数据库中查询出type,比如说可能是A,B然后我在后台做判断
if(A)
{
   jisuan1(str1,str2)
}
if(B)
{
   jisuan2(str1,str2)
}
jisuan1(string s1,string s2)
{
  return s1+s2;
}
jisuan2(string s1,string s2)
{
  return s2+s1;
}
//我的思路这里有一步来决定使用哪种方法jisuan1 或者 jisuan2
然后要在数据库中这样插入数据
DataTable dt = ....
foreach(DataRow dr in dt.rows)
{
   string no = 这里就可以使用已决定的方法了
   insert into tab1(NO,name) values(no,dr[0].tostring());
}
迷茫啊,求指点迷津

解决方案 »

  1.   

    我想的可以用委托,根据查询出的type,将方法动态绑定到定义的委托,
      

  2.   

    三目运算符type==A ? jisuan1(s1,s2):jisuan2(s1,s2)
      

  3.   

    1.查表法   
    Dictionary<string, Func<string, string, string>> funcs = new Dictionary<string, Func<string, string, string>>();
                funcs.Add("A", (s1, s2) => {return "我是方法A"; });
                funcs.Add("B", (s1, s2) => { return "我是方法B"; });
    2.工厂方法
      

  4.   

    你的思路已经很清晰了,就是根据type来判断使用哪种方法。可以尝试使用switch方法
      

  5.   

    也可以考虑在jisuan方法中多加一个type参数,这样就可以一个方法够用了!