[Mono-dev] __ComObject should not be public

Kornél Pál kornelpal at hotmail.com
Thu Sep 1 10:31:07 EDT 2005


I've done some research on .NET Framework versions 1.0, 1.1 and 2.0 Beta 2
and all of the Service Packs of them. System.__ComObject is internal in all
of them and I don't think it was public is any beta version after 1.0 was
released. If it was listed in mscorlib.xml it was a bug in the program that
generated mscorlib.xml.

I decided not to remove __ComObject as it is referenced in .NET Framework
SDK documentation so many times that the type itself may be used by
developers so it's better to preserve it. And if we ever want to implement
COM interop we have to use this type.

I committed a modified version that is internal and I added some comments
about the class.


----- Original Message -----
From: "Sebastien Pouliot" <sebastien.pouliot at gmail.com>
To: "Kornél Pál" <kornelpal at hotmail.com>
Cc: <mono-devel-list at lists.ximian.com>
Sent: Wednesday, August 31, 2005 1:29 PM
Subject: Re: [Mono-dev] __ComObject should not be public

> On Wed, 2005-31-08 at 12:55 +0200, Kornél Pál wrote:
>> We have a public __ComObject in mscorlib. This is wrong. MS.NET has a
>> __ComObject but it's internal. If there is some reason to have Mono a
>> __ComObject as well we should mark it as internal.
> IIRC (have a look at the ChangeLog) it wasn't possible to compile
> __ComObject to "please" corcompare in every case (CLS compliance issue).
>> Do we need __ComObject?
> If it was (*) internal then it was added because something "needed" it
> (probably the status page as nothing, source wise, seems to depends on
> it right now).
> (*) That was prior to 1.1 SP1. Right now I can't find it in mscorlib.xml
> masterinfos (both 1.1 SP1 and 2.0 beta2).
> If this fixes the class status (extra) and doesn't change the tests
> results then please feel free to remove this file from the builds.
> Thanks
> --
> Sebastien

More information about the Mono-devel-list mailing list