Hashtable ht1 = new Hashtable();
Hashtable ht2 = new Hashtable();ht1["SomeClass1"]=new SomeClass1();
ht1["SomeClass2"]=new SomeClass2();
ht1["SomeClass3"]=new SomeClass3();
ht1["SomeClass4"]=new SomeClass4();
ht1["SomeClass5"]=new SomeClass5();
ht1["SomeClass6"]=new SomeClass6();ht2["SomeClass1"]=new String("SomeClass1");
ht2["SomeClass2"]=new String("SomeClass2");
ht2["SomeClass3"]=new String("SomeClass3");
ht2["SomeClass4"]=new String("SomeClass4");
ht2["SomeClass5"]=new String("SomeClass5");
ht2["SomeClass6"]=new String("SomeClass6");ht1[a]??????????????????
不行啊,搞不定!

解决方案 »

  1.   

    只能这样:
    Switch(A)
    {
       case "SomeClass1":
           SomeClass1 B=new SomeClass1();
       case "SomeClass2":
           SomeClasss B=new SomeClass2();
       case "SomeClass3":
           SomeClass3 B=new SomeClass3();
    }如果A的范围很大就没办法呀,有没有人能解啊!
      

  2.   

    可以用Reflection,但不太好。
    建议去看Design Pattern里面的Abstract Factory。
      

  3.   

    可以用Reflection 但这个东西太高级
    比较麻烦
    ms-help://MS.VSCC/MS.MSDNVS.2052/cpguide/html/cpcondynamicallyloadingusingtypes.htm
      

  4.   

    如:qqchen79(知秋一叶)
    使用 成熟的模式来解决的话更好