我有一个MyAPICOMVisible
类,我的客户将用作所有 API 访问的根对象。
我的 API 在另一个程序集OtherAPI中,该程序集具有Document和Window API 类(COM 不可见)。
我想通过MyAPI类将Document和Window类公开给后期绑定客户端,例如 JavaScript。
[COMVisible(true)]
class MyAPI
{
public OtherAPI::Document NewDocument()
{
return new OtherAPI::Document();
}
}
// Something like this should work in the client code
(new MyAPI()).NewDocument().GetName();
问题是它没有看到GetName,因为COM visible
我认为这不是。
我可以在这个类中包装 Document 和 Window 类中的每一个函数,但我正在寻找一个优雅的解决方案。我希望我的客户端应用程序能够通过 MyAPI 对象同时使用 Document 和 Window 类函数。