dev*_*ull 2 .net c# com interop com-interop
从MSDN中得不到以下内容:
ClassInterfaceType.None表示没有为类生成类接口.如果没有显式实现接口,则该类只能通过
IDispatch接口提供后期绑定访问.这是推荐的设置ClassInterfaceAttribute.使用ClassInterfaceType.None是通过类显式实现的接口公开功能的唯一方法.
[ComVisible(true)]COM可见性是必须的吗?
有关第一个问题的扩展,请参阅此博客文章.关键在于,除非您指定ClassInterfaceType.None生成额外的接口,否则如果您更改方法的顺序,可能会导致二进制兼容性问题,请更改其签名或删除其中的一些.一个更好的选择是明确定义一个接口并从中继承你的类指定ClassInterfaceType.None.
ComVisible(true)COM可见性不是必须的.默认情况下,公共类和所有公共类的所有公共方法都是COM可见的,所有其他实体都不是COM可见的.如果需要更改它,则使用ComVisible属性,通常减少COM可见类的数量,因为每个COM可见类注册表项和类型库条目都会生成,这会导致不必要的注册表污染并使类型库膨胀.IMO使用ComVisible明确标记所有公共实体是个好主意.
| 归档时间: |
|
| 查看次数: |
3374 次 |
| 最近记录: |