[Mono-list] difference between corlib.dll and System.dll and other questions

Piers Haken piersh@friskit.com
Thu, 14 Mar 2002 15:37:59 -0800

The class status page shows these classes in the corlib dll.



-----Original Message-----
From: Ulrich Kunitz [mailto:gefm21@uumail.de] 
Sent: Thursday, March 14, 2002 1:37 PM
To: mono-list@ximian.org
Subject: [Mono-list] difference between corlib.dll and System.dll and
other questions

I've implemented some classes missing in System.Globalization
(*Calendar) as my first C# code.

The next step is to include them into mcs/class tree. To save work I
have a couple of questions.

(1) corlib.dll or System.dll?

Classes from the System.Globalization namespace can be found in
corlib.dll or System.dll. How can I decide, where to put the classes?
Looking with ildasm.exe into mscorlib.dll? The *Calendar classes are not
part of the ECMA all.xml, so it isn't obvious.

(2) How to call a namespace for helper classes?

I've some helper classes in a seperate namespace. Can I call it 
System.Globalization.CalendricalCalculations? I used the algorithms from
the excellent book "Calendrical Calculations" by Nachum Dershowitz and
Edward M. Rheingold.

(3) Does Mono have a registry?

The .net calendar classes are using registry entries (e.g. HKCU/Control
Panel/International/AddHijriDate) to set defaults. Currently I'm
providing defaults in the source code and added a new property for
AddHijriDate to control the value. Way to go?

(4) How compatible is Mono to .net bugs and limitations?

The GregorianCalendar class of .net has a bug in the argument handling
of some member. I fixed it in my implementation, which could break
broken code who uses wrong arguments.

For some non-obvious reason the .net HebrewCalendar implementation
allows only a window (gregorian calendar years 1582 to 2240). I could do
better than that, currently I decided to be compatible to .net and throw
a ArgumentOutOfRange exception for such cases. I hope nobody expects me
to support always the same exception message string than .net.

It will take some time for me to provide the patch, because
documentation and NUnit work have also to be done.

Ulrich Kunitz (gefm21@uumail.de)

Mono-list maillist  -  Mono-list@ximian.com