相关文章推荐
星星上的墨镜  ·  使用Qt在Windows中构建用于Linux ...·  3 月前    · 
英姿勃勃的冲锋衣  ·  如何使用SQL获取该行数据中特定日期的一个月 ...·  1 月前    · 
卖萌的紫菜汤  ·  如何从日期中获取微秒数?开发者社区·  6 天前    · 
潇洒的皮带  ·  C代码实现拷贝文件的进度编译成库后QT调用回 ...·  2 年前    · 
健壮的野马  ·  关于Vue中的ref和$refs的二三事 ...·  2 年前    · 
爱玩的黑框眼镜  ·  vc++ dll注入函数替换字符-掘金·  2 年前    · 
卖萌的皮带  ·  【OpenCV 例程300篇】01. ...·  2 年前    · 
欢快的香烟  ·  tellg_百度百科·  2 年前    · 
Code  ›  [ComVisible]默认和公共类COM公开有什么关系?开发者社区
overflow
https://cloud.tencent.com/developer/ask/sof/109771664/answer/134190150
力能扛鼎的烤面包
2 年前
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
提问

问 [ComVisible]默认和公共类COM公开有什么关系?

Stack Overflow用户
提问于 2013-03-28 17:30:31
EN

MSDN有 属性 。当设置 [ComVisible(true)] 时,我不太明白会发生什么。

MSDN说

默认值为真 ,这表明托管类型对COM是可见的。为了使 公共托管程序集、 和 类型成为可见的 ,不需要此属性;它们在默认情况下对COM是可见的。只能显示公共类型。

所以他们说,默认情况下,公共类型对COM是可见的。但他们也表示,只有公共类型可以通过设置 [ComVisible(true)] 来显示。这是没有意义的:如果公共类型在默认情况下是可见的,那么设置 [ComVisible(true)] 如何使公共类型可见?如果他们已经可见,他们将如何变得更可见?

也许我的理解是不正确的。如果有人能对上述声明作一些说明,我将不胜感激。

2 33.3K 0 票数 37
EN
c#
com
comvisible

Stack Overflow用户

发布于 2013-03-29 08:50:31

诀窍是您还可以在程序集级别(在AssemblyInfo.cs中)添加此属性。如果您指定了 [assembly: ComVisible(true)] (或者没有在程序集级别指定它,在默认情况下具有相同的效果),那么所有公共类和接口及其公共方法在默认情况下都是可见的。

您也可以在程序集级别设置 [assembly: ComVisible(false)] ,然后所有公共实体在默认情况下都会产生相同的效果,就像它们上面有 [ComVisible(false)] 一样,因此您只能标记真正需要的类/接口/方法COM-可见( [ComVisible(true)] )。

这可以帮助您在有大量公共实体(如 这里 )时不公开太多。如果没有这种机制,就必须将 [ComVisible(false)] 设置为每个不希望公开的类/接口/方法。使用 [assembly: ComVisible(false)] 可以使您只公开所需的内容。

而且您只能将 public 实体公开给COM (默认的或显式的)--更严格的可见性的实体不能暴露给COM。

票数 29
EN
查看全部 2 条回答
页面原文内容由 Stack Overflow 提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15688395

复制
相关文章

Copyright © 2013 - 2023 Tencent Cloud.

All Rights Reserved. 腾讯云 版权所有

 
推荐文章
星星上的墨镜  ·  使用Qt在Windows中构建用于Linux的Qt应用程序开发者社区
3 月前
英姿勃勃的冲锋衣  ·  如何使用SQL获取该行数据中特定日期的一个月的天数?开发者社区
1 月前
卖萌的紫菜汤  ·  如何从日期中获取微秒数?开发者社区
6 天前
潇洒的皮带  ·  C代码实现拷贝文件的进度编译成库后QT调用回调函数获取进度后显示在界面的进度条 - 知乎
2 年前
健壮的野马  ·  关于Vue中的ref和$refs的二三事 - 吃火鸡的馒头 - 博客园
2 年前
爱玩的黑框眼镜  ·  vc++ dll注入函数替换字符-掘金
2 年前
卖萌的皮带  ·  【OpenCV 例程300篇】01. 图像的读取(cv2.imread) | AI技术聚合
2 年前
欢快的香烟  ·  tellg_百度百科
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号