Com 检查员和检查员级别之间的差异

Com 检查员和检查员级别之间的差异,com,outlook,vsto,outlook-addin,coclass,Com,Outlook,Vsto,Outlook Addin,Coclass,我一直在研究VSTO库,主要是为了好玩,我注意到有一个叫做Inspector以及InspectorClass的东西 有什么区别,为什么会有,我如何使用它?(注意,我不是在寻找如何使用这些类进行编码的答案,而是某种架构模式背后的原理是什么。纯粹是学术上的好奇。)是COM接口的(具体实现)(例如,它是一个带有元数据+代码的COM对象)。检查器可以直接实例化,即使它纯粹作为接口定义()存在 InspectorClass可以实例化,因为它表示一个具体的类实例,尽管as-和或多或少地用于存在 所有这些都表

我一直在研究VSTO库,主要是为了好玩,我注意到有一个叫做
Inspector
以及
InspectorClass
的东西

有什么区别,为什么会有,我如何使用它?(注意,我不是在寻找如何使用这些类进行编码的答案,而是某种架构模式背后的原理是什么。纯粹是学术上的好奇。)

是COM接口的(具体实现)(例如,它是一个带有元数据+代码的COM对象)。
检查器
可以直接实例化,即使它纯粹作为接口定义()存在

InspectorClass
可以实例化,因为它表示一个具体的类实例,尽管as-和或多或少地用于存在

所有这些都表明,您现在应该使用
Inspector
,而不是
InspectorClass
,它可以包含可执行代码。发件人:

…可以安全地嵌入元数据,但不能嵌入任何可能包含可执行代码的内容(类类型包含元数据和代码,而接口仅包含元数据)

从这条语句中,您可以推断
InspectorClass
包含可执行代码,而
Inspector
不包含可执行代码-它纯粹是一个接口(元数据)。这意味着嵌入互操作类型不允许支持
*类
实现。

是COM接口的(具体实现)(例如,它是带有元数据+代码的COM对象)。
检查器
可以直接实例化,即使它纯粹作为接口定义()存在

InspectorClass
可以实例化,因为它表示一个具体的类实例,尽管as-和或多或少地用于存在

所有这些都表明,您现在应该使用
Inspector
,而不是
InspectorClass
,它可以包含可执行代码。发件人:

…可以安全地嵌入元数据,但不能嵌入任何可能包含可执行代码的内容(类类型包含元数据和代码,而接口仅包含元数据)

从这条语句中,您可以推断
InspectorClass
包含可执行代码,而
Inspector
不包含可执行代码-它纯粹是一个接口(元数据)。这意味着嵌入互操作类型不允许支持
*类
实现