C# 如何在.net运行时创建对象
有三类,分别命名为Alpha、Beta和Omega。类Alpha和Beta继承了接口OInterface,它有两个名为start和run的函数。在Omega类的构造函数中,我们传递值1或2 如果值为1,我需要创建Alpha类对象或Beta类对象。C# 如何在.net运行时创建对象,c#,.net,dynamic,binding,C#,.net,Dynamic,Binding,有三类,分别命名为Alpha、Beta和Omega。类Alpha和Beta继承了接口OInterface,它有两个名为start和run的函数。在Omega类的构造函数中,我们传递值1或2 如果值为1,我需要创建Alpha类对象或Beta类对象。 我该怎么做?如果您只需要接口的方法,请声明: class Omega { private OInterface iDontKnowHowToNameIt; public Omega(int value) { if
我该怎么做?如果您只需要接口的方法,请声明:
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();
}
你试过什么吗?为什么要加上“动态”和“绑定”标签?