1

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

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

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

4

1 回答 1

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();
  }

}

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

于 2011-12-13T15:43:53.157 回答