enum qq{
w1,
w2,
w3
}
class ww{
nn:string
static cc(q1:qq):ww{
let c1:ww
switch (q1){
case qq.w1:c1 = new w1();break;
case qq.w2:c1 = new w2();break;
case qq.w3:c1 = new w3();break;
}
return c1;
}
}
class w1 extends ww{}
class w2 extends ww{}
class w3 extends ww{}
let t1 = ww.cc(qq.w1)