工厂在C#中创建方法?

时间:2011-12-13 15:33:01

标签: c# activex factory-method

我正在开发一个API,它提供了一些ActiveX COM对象,我在下面阅读了这些警告:

  

“您必须使用工厂”创建“方法在此部分中创建COM对象。一旦通过工厂方法创建了COM对象,COM对象就会绑定到相应的TWS COM对象(一个实例) COM对象)。不要尝试将COM对象传递给TWS COM对象的另一个实例。“

这些词来自此ActiveX API上的VB示例的一部分。现在我正在使用c#,我该怎么做才能遵循这条规则?

1 个答案:

答案 0 :(得分:1)

不知道这些数据类型是什么或者您为这些类型命名的内容,让我们使用ActiveXType中定义的名为ApiComObject的数据类型。

class TwsCom {

  private ApiComObject apiComObject;

  public TwsCom() {
    apiComObject = new ApiComObject(); // create an instance, if required
  }
  // you might want to keep this variable type private to avoid breaking
  // the rules
  private ActiveXType NewActiveXType() {
    return apiComObject.Create();
  }

  public object SomeMethod() {
    ActiveXType activeX = NewActiveXType();
    return activeX.SomeMethod();
  }

}

这段代码非常模糊,但这是我能做的最好的事情,除非你想提供更多细节。