C# 如何在.net运行时创建对象

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

有三类,分别命名为Alpha、Beta和Omega。类Alpha和Beta继承了接口OInterface,它有两个名为start和run的函数。在Omega类的构造函数中,我们传递值1或2

如果值为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();
}

你试过什么吗?为什么要加上“动态”和“绑定”标签?