0

.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";
    }
    }

在运行时,我想检测宿主环境,设置某种“全局”,然后基于全局总是实例并使用 MyClass1 或 MyClass2。我不想有一个“MyClass”,然后在里面做很多案例逻辑来检测环境。

这样做的好模式或做法是什么?这真的是Dynamics的好地方吗?

谢谢。

4

1 回答 1

1

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

于 2012-10-21T02:41:08.800 回答