.NET动态决策调用类似的类?

时间:2012-10-21 01:07:51

标签: dynamic reflection

.NET 4.5上的C#:

 public Interface IMyInterface
    {
    public string DoSomething( string input1 )
    }

    public MyClass1 : IMyInterface
    {
    public string DoSomething( string input1 )
    {
    return "1";
    }
    }

    public MyClass2 : IMyInterface
    {
    public string DoSomething( string input1 )
    {
    return "2";
    }
    }

在运行时,我想检测托管环境,设置某种“全局”,然后基于全局always实例并使用MyClass1或MyClass2。我不想拥有一个“MyClass”,然后在其中执行大量的案例逻辑来检测环境。

这样做有什么好的模式或做法?这实际上是动力学的好地方吗?

感谢。

1 个答案:

答案 0 :(得分:1)

好像你需要使用Factory。在Factory类中创建一个方法以返回MyClass对象。将方法的返回类型保留为IMyInterface。在该方法中,您可以执行托管逻辑,并根据托管逻辑的输出,实例化适当的类并返回对象的引用。