if(a=1)
{
DalA dal = new DalA();
}
else
{
DalB dal = new DalB();
}
我想写成:
申明 dal;
if(a=1)
{
dal = new DalA();
}
else
{
dal = new DalB();
}
怎么申明啊? 是不是用他们共同父类申明吗? 我用Object dal; 有错误。
大家帮忙
...全文
1303打赏收藏
申明一个对象变量 更具条件实例化不同的对象
if(a=1) { DalA dal = new DalA(); } else { DalB dal = new DalB(); } 我想写成: 申明 dal; if(a=1) { dal = new DalA(); } else { dal = new DalB(); } 怎么申明啊? 是不是用他们共同父类申明吗? 我用Object dal; 有错误。 大家帮忙
public interface IDal{ void func(); }
public class DalA:IDal( public void func(){} )
public class DalB:IDal{ public void func(){} }
public class Factory
{
public static IDal CreateInstance(int i)
{
IDal dal;
switch(i)
{
case 1:
dal = new IDalA();
break;
case 2:
dal = new IDalB();
break;
drfault:
dal=null;
break;
}
return dal;
}
}
public class Program
{
static void Main(string[] args)
{
IDal dal=Factory.CreateInstance(1);
if(dal!=null)
{ //.....}
}
}