-8
有3个类名为Alpha,Beta和Omega。 Alpha和Beta类继承了Interface OInterface,它有两个函数,分别叫做start和run。在Omega类的构造函数中,我们传递值1或2.如何在.net中运行时创建对象
如果值为1,我需要创建Alpha类对象或Beta对象。 我该怎么做?
有3个类名为Alpha,Beta和Omega。 Alpha和Beta类继承了Interface OInterface,它有两个函数,分别叫做start和run。在Omega类的构造函数中,我们传递值1或2.如何在.net中运行时创建对象
如果值为1,我需要创建Alpha类对象或Beta对象。 我该怎么做?
class Omega
{
private OInterface iDontKnowHowToNameIt;
public Omega(int value)
{
if (value == 1)
iDontKnowHowToNameIt = new Alpha();
else if (value == 2)
iDontKnowHowToNameIt = new Beta();
else
throw new ArgumentException("Wrong value passed");
}
}
如果您只需要接口的方法声明:
OInterface obj = null;
public Omega(int type)
{
if(type == 1)
obj = new Alpha();
else if (type == 2)
obj = new Beta();
else
throw new ArgumentException("Wrong type provided: " + type, "type");
}
现在你可以使用的方法在你需要它,例如:
public void RunSomething()
{
obj.Run();
}
你尝试过什么? – pinkfloydx33 2015-03-25 12:20:01
为什么你把“动态”和“绑定”标签? – Szer 2015-03-25 12:25:08