Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel de Icaza <miguel@gnome.org>2001-07-09 05:41:06 +0400
committerMiguel de Icaza <miguel@gnome.org>2001-07-09 05:41:06 +0400
commit3011d1514a27d5348a97ed550ba5bb88a4b0b878 (patch)
tree73b4d2d161f9fbbd001abd8b79cbc881a7ced624 /doc/class-library
parent25b5d7a7ff00b6ab4ce35d7604f4e45801791b85 (diff)
Flush
svn path=/trunk/mono/; revision=68
Diffstat (limited to 'doc/class-library')
-rw-r--r--doc/class-library29
1 files changed, 26 insertions, 3 deletions
diff --git a/doc/class-library b/doc/class-library
index 5a4649c1d23..ebbc0c84e0e 100644
--- a/doc/class-library
+++ b/doc/class-library
@@ -1,12 +1,35 @@
* The Class Library
The Class Library should be compatible with Microsoft's .NET
- implementation.
+ implementation.
- We will write as much code as possible in C#. We may need to
- interface with code written in C to gain access to the functionality of
+ We will write as much code as possible in C#. We may need to
+ interface with code written in C to gain access to the
+ functionality of
libraries like libart, Gtk+, and libc.
+** Layout
+
+ The Class Library resides in the `mcs' module in the directoy
+ `class'.
+
+ Each directory in the directory represents the assembly where
+ the code belongs to, and inside each directory we divide the
+ code based on the namespace they implement.
+
+ There are two cases when we should consider portability: when
+ we are dealing with a couple of classes only that differ from
+ system to system (Consider System.Net and System.IO for Win32
+ and Unix). In those cases we will just place the files for
+ example on <t>corlib/System/System.IO/Unix-Console.cs</t> and
+ <t>corlib/System/System.IO/Win32-Console.cs</t>.
+
+ For classes that might differ more (for example, the
+ implementation of Windows.Forms), we might have different
+ directories altogether: <t>System.Windows.Forms/Win32</t>,
+ <t>System.Windows.Forms/Gtk+</t> and
+ <t>System.Windows.Forms/Cocoa</t>.
+
** Using existing components from GNOME.
Our current plan is to implement the GUI tools on top of