有三个类,成员都差不多,分别对应三个数据表里的数据操作现在switch (a){
case 1 :
 info1 = 类1;
 break;
case 2:
 info2 = 类2;
 break;
case 3:
 info3 = 类3;
 break;
}
以下是对类的操作
info.aaa ="aaa"
info.bbb = "bbb"
此处的info就以是上面的info1 info2 info3之一现在三种数据的操作方式分别放在选择中进行除了放在选择中还有没有象上面写的这种方法呵呵,说得有点罗索

解决方案 »

  1.   

    switch (a){
    case 1 :
     类1 info = 类1("aaa","bbb");
     break;
    case 2:
     类2 info = 类2("aaa","bbb");
     break;
    case 3:
     类3 info = 类3("aaa","bbb");
     break;
    }每个类的构造函数写个带参数的就可以了
      

  2.   

    也可以这样:switch (a){
    case 1 :
     类1 info = 类1();
     info.aaa ="aaa";
     info.bbb = "bbb";
     break;
    case 2:
     类2 info = 类2();
     info.aaa ="aaa";
     info.bbb = "bbb";
     break;
    case 3:
     类3 info = 类3();
     info.aaa ="aaa";
     info.bbb = "bbb";
     break;
    }
      

  3.   

    看见这种switch直觉首先要想到用多态
      

  4.   

    luguanxiang(黑虎)类是根据表自动生成的,除非手工改生成的类
      

  5.   

    现在switch (a){
    case 1 :
     info1 = 类1;
     info1.aaa ="aaa"
     info1.bbb = "bbb"
     break;
    case 2:
     info2 = 类2;
     info2.aaa ="aaa"
     info2.bbb = "bbb"
     break;
    case 3:
     info3 = 类3;
     info2.aaa ="aaa"
     info2.bbb = "bbb"
     break;
    }
    虽然这样写麻烦但是也是很好的解决办法。
    如果非要按楼主的思路写,那么你可以定义一个接口,三个类统一实现这个接口,然后在case中给这个结口的实例赋值应该可以达到目的
      

  6.   

    看见这种switch直觉首先要想到用多态
    ---------------------
    同意
      

  7.   

    通过哈希表加type来解决switch的问题.
    定义接口规则隐藏具体类型,操作方便.
    大概代码
    public interface access
    {
    string aaa
    ....
    string bbb
    ....
    }
    public access GetObj(string key)
    {
    return Activator.CreateInstance(hash[key]);

    }
    你必须建立key和type对应关系.
      

  8.   

    看见这种switch直觉首先要想到用多态