我在我们使用的第3方库中发现了类似于以下内容的代码。[CoClass(typeof(BlahClass))]publicinterfaceBlah:IBlah{}这到底在做什么?msdn文档没有充分阐明主题,我无法理解。 最佳答案 它声明接口(interface)Blah旨在由特定类实现。这意味着您可以方便地说newBlah并且运行时将知道要创建什么对象-这通常是接口(interface)无法实现的。如果您查看为BlahClass生成的声明,它可能有一个与其关联的Guid,可用于创建COM对象的实例。
我在我们使用的第3方库中发现了类似于以下内容的代码。[CoClass(typeof(BlahClass))]publicinterfaceBlah:IBlah{}这到底在做什么?msdn文档没有充分阐明主题,我无法理解。 最佳答案 它声明接口(interface)Blah旨在由特定类实现。这意味着您可以方便地说newBlah并且运行时将知道要创建什么对象-这通常是接口(interface)无法实现的。如果您查看为BlahClass生成的声明,它可能有一个与其关联的Guid,可用于创建COM对象的实例。
WikipediaCOMarticle在谈到这个问题时含糊不清。谁能给出适合COM初学者的解释,或提供相同解释的文章链接。 最佳答案 它帮助我以下列方式思考它:对我来说,COM类是实现特定接口(interface)的类的实例。我不需要知道实现是如何完成的,只要它按预期工作即可。此外,COM类不依赖于语言-它是方法的描述。Co-Class是在请求COM类时实例化的实际实现。例如:COM类可以定义加密或解密数据的方法。可以有两个Co-Class,每个用于一个特殊的加密算法。 关于wind
我是COM的新手,我在互联网上四处寻找如何用C++创建COM类(供C#使用)。我已经在.idl文件中看到,我必须放置如下内容:[object,uuid(a93164ee-e6d4-44be-aa27-f00ce6972719),helpstring("interfaceITopologyQuery")]interfaceITopologyQuery:IUnknown{HRESULTLoadFile(BSTRcompleteFileName);HRESULTSetParameters(intabove,intpercentage);}[uuid(a958f2af-8b55-43c4-9f
我目前正在COM上阅读这篇文章:http://www.amazon.com/Essential-COM-Don-Box/dp/0201634465我了解COM类,也称为“CoClasses”。我完全了解它们是什么、它们做什么以及它们与界面的关系。但我的问题是:“CoClass”中的“Co”到底是什么意思?是“cooperate”中的“Co”,还是“concrete”中的“co”,还是“COM”中的“co”,还是完全不同的“co”? 最佳答案 CO代表“组件对象”。在此处查看IDL的官方文档:coclassattributeTheco