我们正在考虑通过 COM 向 C++ 客户端公开一些 C# 类型。在项目的整个生命周期中,我们预计会遇到哪些问题?例如。如何管理版本控制?
关于版本控制,从阅读 this 看来似乎我们应该装饰我们的类型以使用 [ClassInterface(ClassInterfaceType.None)]
公开并使用显式接口(interface)。这样我假设我们可以完全控制将暴露给 COM 客户端的接口(interface)。
提前致谢。
最佳答案
由于您使用的是 C++ 客户端,因此您绝对应该使用显式接口(interface)进行早期绑定(bind)。调度接口(interface)在使用 VBS 等脚本客户端时很有用,但对 C++ 客户端很少有用。
对接口(interface)进行版本控制的唯一方法是创建一个新接口(interface)(可能继承自原始接口(interface))。使用显式接口(interface)时,您可以完全控制此过程。
这意味着您应该为您打算通过 COM 公开的每个类创建一个接口(interface)。不要忘记用 ComVisible 和 Guid 属性标记每个接口(interface)和类。此外,您所有的类都必须具有默认构造函数。
关于c# - 通过 COM 为 C++ 客户端公开 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1068092/