【发布时间】:2010-08-18 08:51:45
【问题描述】:
我正在为 Microsoft 认证考试而学习,我遇到了一种情况,该课程不是 ComVisible 但有方法。我假设由于该类对 COM 不可见,因此它的成员将无法访问。但是,即使类不是,成员显然也可以是 ComVisible。
如果 COM 一开始就无法访问该类,它如何访问该类成员?
我从来没有将 .NET 程序集暴露给 COM 的经验。这对我来说毫无意义。
【问题讨论】:
我正在为 Microsoft 认证考试而学习,我遇到了一种情况,该课程不是 ComVisible 但有方法。我假设由于该类对 COM 不可见,因此它的成员将无法访问。但是,即使类不是,成员显然也可以是 ComVisible。
如果 COM 一开始就无法访问该类,它如何访问该类成员?
我从来没有将 .NET 程序集暴露给 COM 的经验。这对我来说毫无意义。
【问题讨论】:
您可能在 MSDN doc page 中看到 ComVisibleAttribute 的示例代码。是的,那是假的。在同一页面上,强调我的:
将特定类型的属性设置为 false 会隐藏该类型及其成员。 但是,如果类型不可见,则不能使该类型的成员可见。 将类型的属性设置为 false 可防止将该类型导出到类型库;课程未注册;接口永远不会响应非托管 QueryInterface 调用。
错误的示例代码。
【讨论】: