-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