相关疑难解决方法(0)

.NET"所有COM都在下面"吗?

多年来,我一直是Juval Lowy在.NET开发方面的教学和指导的崇拜者.他还写了我最喜欢的书之一:Programming .NET Components.

然而,在最近的DotNet Rocks播客(2010年1月)讨论WCF/COM和.NET时,他发表了一些令我惊讶的评论:

JuvalLöwy: ..... 在.NET中,看,这里的每个类都是COM对象.我们知道.事实上,它远远超过COM,因为我们有git编译,我们有垃圾收集,我们有安全堆....

卡尔富兰克林:嗯,你应该澄清一下.我的意思是,每个对象都不是COM对象.每个对象都具有COM对象的功能,但.NET Framework不是COM库.

JuvalLöwy: 不,不.首先,.NET实际上是建立在COM之上的.这都是COM下面的.

然后,在卡尔富兰克林要求澄清这一评论之后:

卡尔富兰克林:是的,我明白了.我的问题是基于COM构建的.NET?

JuvalLöwy:当然,所有COM都在下面.

Carl Franklin:不,我知道它是交织在一起的,而且是必需的,但是当你新建一个.NET对象时,你并没有创建一个COM对象.

JuvalLöwy:你正在创建一个.NET对象,但我所说的只是.NET构建在底层.这都是C++和COM.

Carl Franklin:它是C++,但你没有通过COM接口注册COM对象.除非你专门做到这一点,否则不是全部.

JuvalLöwy:但有些东西在下面使用COM,但这不是重点.忘记它是如何制作的.

你怎么看这些评论?

虽然我理解(并且已经确认)某些系统程序集是用非托管C++编写的,但是它们是"所有COM下面"也是有效的吗?

我是在假设完全可以编写与COM/ATL/ActiveX完全无关的.NET CLI兼容的C++程序集?

以下是相关播客的PDF文字记录.见第7页.

.net c++ com

34
推荐指数
5
解决办法
1791
查看次数

标签 统计

.net ×1

c++ ×1

com ×1