Gert Driesen e8c67296c0 * CodeParameterDeclarationExpressionCollection.cs: Use CollectionBase il y a 20 ans
..
Accessibility 431f1b3485 Moved assembly version and assembly reference constants to a common Consts.cs file. Updated 2.0.3600.0 assembly versions to 2.0.0.0. Updated some old beta version numbers to recent ones. Fixed hard coded assembly references to use constants with the appropriate version number. il y a 20 ans
ByteFX.Data 681ef34c65 Added CODEPAGE Makefile variable that specifies the encoding used by compilers. il y a 20 ans
Commons.Xml.Relaxng f41fa5fe0c 2005-09-30 Atsushi Enomoto <[email protected]> il y a 20 ans
Cscompmgd e36848f82d Updated runtime version to v2.0.50727 (2.0 RTM). Use Consts.MonoVersion, Consts.FxFileVersion and Consts.VsFileVersion in assembly attributes. Use Consts.RuntimeVersion as Environment.Version that makes maintenance easier. il y a 20 ans
Custommarshalers 8e63ad8a34 2005-10-31 Zoltan Varga <[email protected]> il y a 20 ans
FirebirdSql.Data.Firebird 7beb800080 Updated sources with latest fixes from Sourceforge il y a 20 ans
I18N 51216b01dd 2005-11-16 Atsushi Enomoto <[email protected]> il y a 20 ans
IBM.Data.DB2 0e8decdb37 remove svn:executable from .cs files il y a 20 ans
ICSharpCode.SharpZipLib 7d4a3b1904 Remove old version and re-add new one. il y a 20 ans
Managed.Windows.Forms 12671fed41 il y a 20 ans
Microsoft.Build.Engine d531e53fd1 2005-09-22 Marek Sieradzki <[email protected]> il y a 20 ans
Microsoft.Build.Framework 57c202d622 2005-09-22 Marek Sieradzki <[email protected]> il y a 20 ans
Microsoft.Build.Tasks f8591c0e38 2005-09-22 Marek Sieradzki <[email protected]> il y a 20 ans
Microsoft.Build.Utilities 538aaa5989 2005-09-22 Marek Sieradzki <[email protected]> il y a 20 ans
Microsoft.JScript c048649689 *** Merged revisions from mcs: 52092, 52136, 52137, 52172, 52173 il y a 20 ans
Microsoft.VisualBasic 9cf5fc9bf5 2005-11-07 Maverson Eduardo Schulze Rosa <[email protected]> il y a 20 ans
Microsoft.VisualC 431f1b3485 Moved assembly version and assembly reference constants to a common Consts.cs file. Updated 2.0.3600.0 assembly versions to 2.0.0.0. Updated some old beta version numbers to recent ones. Fixed hard coded assembly references to use constants with the appropriate version number. il y a 20 ans
Microsoft.Vsa 431f1b3485 Moved assembly version and assembly reference constants to a common Consts.cs file. Updated 2.0.3600.0 assembly versions to 2.0.0.0. Updated some old beta version numbers to recent ones. Fixed hard coded assembly references to use constants with the appropriate version number. il y a 20 ans
Microsoft.Web.Atlas f2f9722856 notyet il y a 20 ans
Microsoft.Web.Services 4847293c9c more executable bits il y a 20 ans
Mono.C5 f5908bb299 Reflect latest generics API changes in the August CTP. il y a 20 ans
Mono.Cairo 0e0e9df076 add swf/win32 version of snippets il y a 20 ans
Mono.CompilerServices.SymbolWriter 86c2c5d12f 2005-09-14 Martin Baulig <[email protected]> il y a 20 ans
Mono.Data 431f1b3485 Moved assembly version and assembly reference constants to a common Consts.cs file. Updated 2.0.3600.0 assembly versions to 2.0.0.0. Updated some old beta version numbers to recent ones. Fixed hard coded assembly references to use constants with the appropriate version number. il y a 20 ans
Mono.Data.SqliteClient 2cb268f527 Auto detect SQLite installation, and go from 2 to 3 if needed il y a 20 ans
Mono.Data.SybaseClient 431f1b3485 Moved assembly version and assembly reference constants to a common Consts.cs file. Updated 2.0.3600.0 assembly versions to 2.0.0.0. Updated some old beta version numbers to recent ones. Fixed hard coded assembly references to use constants with the appropriate version number. il y a 20 ans
Mono.Data.Tds a34e1cf63d 2005-10-27 Senganal T <[email protected]> il y a 20 ans
Mono.Data.TdsClient 431f1b3485 Moved assembly version and assembly reference constants to a common Consts.cs file. Updated 2.0.3600.0 assembly versions to 2.0.0.0. Updated some old beta version numbers to recent ones. Fixed hard coded assembly references to use constants with the appropriate version number. il y a 20 ans
Mono.Directory.LDAP b27c8e1534 remove .cvsignore from everywhere, as it is useless on svn il y a 20 ans
Mono.GetOptions c4a16a242d Mono.GetOptions/OptionDetails.cs: Don't split on commas for options that have il y a 20 ans
Mono.Globalization 550b4cc093 more executable bits il y a 20 ans
Mono.Http 431f1b3485 Moved assembly version and assembly reference constants to a common Consts.cs file. Updated 2.0.3600.0 assembly versions to 2.0.0.0. Updated some old beta version numbers to recent ones. Fixed hard coded assembly references to use constants with the appropriate version number. il y a 20 ans
Mono.PEToolkit cae752893e Standardize file-endings. Set svn:eol-style=native on LF-terminated files. il y a 20 ans
Mono.Posix addb10de2e * Catalog.cs: Exception safety improvements (don't let memory leak!); check il y a 20 ans
Mono.Security afc3d9dc77 2005-11-18 Sebastien Pouliot <[email protected]> il y a 20 ans
Mono.Security.Win32 431f1b3485 Moved assembly version and assembly reference constants to a common Consts.cs file. Updated 2.0.3600.0 assembly versions to 2.0.0.0. Updated some old beta version numbers to recent ones. Fixed hard coded assembly references to use constants with the appropriate version number. il y a 20 ans
Mono.Xml.Ext 431f1b3485 Moved assembly version and assembly reference constants to a common Consts.cs file. Updated 2.0.3600.0 assembly versions to 2.0.0.0. Updated some old beta version numbers to recent ones. Fixed hard coded assembly references to use constants with the appropriate version number. il y a 20 ans
Novell.Directory.Ldap deed130302 Typo il y a 20 ans
Npgsql f4b10f455d 2005-08-27 Francisco Figueiredo Jr. <[email protected]> il y a 20 ans
PEAPI 3c22594b57 * PEAPI.cs: Clean up indentation. Split into ... il y a 20 ans
PresentationFramework 5e2f8ec292 2005-10-18 Iain McCoy <[email protected]> il y a 20 ans
System e8c67296c0 * CodeParameterDeclarationExpressionCollection.cs: Use CollectionBase il y a 20 ans
System.Configuration 598e4e9d54 add new files to the build il y a 20 ans
System.Configuration.Install 431f1b3485 Moved assembly version and assembly reference constants to a common Consts.cs file. Updated 2.0.3600.0 assembly versions to 2.0.0.0. Updated some old beta version numbers to recent ones. Fixed hard coded assembly references to use constants with the appropriate version number. il y a 20 ans
System.Data 7061395581 Source exclusion updated il y a 20 ans
System.Data.OracleClient 6c0159f843 * OracleException.cs: Pass message to base ctor, thereby avoiding il y a 20 ans
System.Design f862efac53 add System.Web.UI.Design.WebControls/DataProviderNameConverter.c il y a 20 ans
System.DirectoryServices c29121820b il y a 20 ans
System.Drawing 74d54abd1b Image.jvm.cs: fixed Save, flush output stream il y a 20 ans
System.Drawing.Design 431f1b3485 Moved assembly version and assembly reference constants to a common Consts.cs file. Updated 2.0.3600.0 assembly versions to 2.0.0.0. Updated some old beta version numbers to recent ones. Fixed hard coded assembly references to use constants with the appropriate version number. il y a 20 ans
System.EnterpriseServices e36848f82d Updated runtime version to v2.0.50727 (2.0 RTM). Use Consts.MonoVersion, Consts.FxFileVersion and Consts.VsFileVersion in assembly attributes. Use Consts.RuntimeVersion as Environment.Version that makes maintenance easier. il y a 20 ans
System.Management 431f1b3485 Moved assembly version and assembly reference constants to a common Consts.cs file. Updated 2.0.3600.0 assembly versions to 2.0.0.0. Updated some old beta version numbers to recent ones. Fixed hard coded assembly references to use constants with the appropriate version number. il y a 20 ans
System.Messaging e998caeb90 2005-09-22 Sebastien Pouliot <[email protected]> il y a 20 ans
System.Runtime.Remoting 38a7899e85 net_1_1_java additions il y a 20 ans
System.Runtime.Serialization 2292fde93d 2005-09-26 Atsushi Enomoto <[email protected]> il y a 20 ans
System.Runtime.Serialization.Formatters.Soap 1d510fd5ba net_1_1_java includes il y a 20 ans
System.Security 15cb8df83c 2005-11-09 Sebastien Pouliot <[email protected]> il y a 20 ans
System.ServiceProcess 4e9a89c422 2005-11-14 Marek Safar <[email protected]> il y a 20 ans
System.Transactions e36848f82d Updated runtime version to v2.0.50727 (2.0 RTM). Use Consts.MonoVersion, Consts.FxFileVersion and Consts.VsFileVersion in assembly attributes. Use Consts.RuntimeVersion as Environment.Version that makes maintenance easier. il y a 20 ans
System.Web 28faff3bd6 2005-11-19 Chris Toshok <[email protected]> il y a 20 ans
System.Web.Services d1e3ef0cf8 2005-10-05 Atsushi Enomoto <[email protected]> il y a 20 ans
System.XML 8aa27a73cc 2005-11-17 Atsushi Enomoto <[email protected]> il y a 20 ans
System.Xml.XLinq a139f4dca1 2005-09-20 Atsushi Enomoto <[email protected]> il y a 20 ans
WindowsBase 19538fbb90 2005-08-23 Iain McCoy <[email protected]> il y a 20 ans
corlib 63e5063028 2005-11-19 Zoltan Varga <[email protected]> il y a 20 ans
doc 5dc2037ab1 Added files removed during import il y a 21 ans
notes 25f95f44fc More files il y a 24 ans
ChangeLog 8abdf8e162 il y a 20 ans
LICENSE 0eed5bae7d Add MIT X11 LICENSE to the class dir il y a 23 ans
Makefile 8abdf8e162 il y a 20 ans
README dfedf08d98 2004-04-22 Martin Baulig <[email protected]> il y a 22 ans
ecma.pub 4847293c9c more executable bits il y a 20 ans
mono.pub 71ce0f66da Adding it again as a binary. il y a 22 ans
mono.snk 4847293c9c more executable bits il y a 20 ans
msfinal.pub 4847293c9c more executable bits il y a 20 ans

README

The class libraries are grouped together in the assemblies they belong.

Each directory here represents an assembly, and inside each directory we
divide the code based on the namespace they implement.

In addition, each assembly directory contains a Test directory that holds the
NUnit tests for that assembly.

We use a new build system which is described by various README files
in mcs/build

The build process typically builds an assembly, but in some cases it
also builds special versions of the assemblies intended to be used for
testing.

* Missing implementation bits

If you implement a class and you are missing implementation bits,
please use the attribute [MonoTODO]. This attribute can be used
to programatically generate our status web pages:

[MonoTODO]
int MyFunction ()
{
throw new NotImplementedException ();
}

* Supporting .NET 1.2, .NET 1.1 and .NET 1.0 builds

The defines NET_1_1 and NET_2_0 are used to include
features. When NET_2_0 is defined, it also implies that the
NET_1_1 is defined.

To have code which is only available in an old version, use ONLY_1_0,
ONLY_1_1

* Tagging buggy code

If there is a bug in your implementation tag the problem by using
the word "FIXME" in the code, together with a description of the
problem.

Do not use XXX or obscure descriptions, because otherwise people
will not be able to understand what you mean.

* Tagging Problematic specs.

If the documentation and the Microsoft implementation do
differ (you wrote a test case to prove this), I suggest that you edit
the file `mcs/class/doc/API-notes' so we can keep track of these problems
and submit our comments to ECMA or Microsoft and seek clarification.

Sometimes the documentation might be buggy, and sometimes the implementation
might be buggy. Lets try to identify and pinpoint which one
is the correct one.

Sometimes the specification will be lame (consider Version.ToString (fieldCount)
where there is no way of knowing how many fields are available, making the API
not only stupid, but leading to unreliable code).

In those cases, use the keyword "LAMESPEC".


* Coding considerations and style.

In order to keep the code consistent, please use the following
conventions. From here on `good' and `bad' are used to attribute
things that would make the coding style match, or not match. It is not
a judgement call on your coding abilities, but more of a style and
look call. Please try to follow these guidelines to ensure prettiness.

Use 8 space tabs for writing your code (hopefully we can keep
this consistent). If you are modifying someone else's code, try
to keep the coding style similar.

Since we are using 8-space tabs, you might want to consider the Linus
Torvals trick to reduce code nesting. Many times in a loop, you will
find yourself doing a test, and if the test is true, you will nest.
Many times this can be changed. Example:


for (i = 0; i < 10; i++) {
if (something (i)) {
do_more ();
}
}

This take precious space, instead write it like this:

for (i = 0; i < 10; i++) {
if (!something (i))
continue;
do_more ();
}

A few guidelines:

* Use a space before an opening parenthesis when calling
functions, or indexing, like this:

method (a);
b [10];

* Do not put a space after the opening parenthesis and the
closing one, ie:

good: method (a); array [10];

bad: method ( a ); array[ 10 ];

* Inside a code block, put the opening brace on the same line
as the statement:

good:
if (a) {
code ();
code ();
}

bad:
if (a)
{
code ();
code ();
}

* Avoid using unecessary open/close braces, vertical space
is usually limited:

good:
if (a)
code ();

bad:
if (a) {
code ();
}

* When defining a method, use the C style for brace placement,
that means, use a new line for the brace, like this:

good:
void Method ()
{
}

bad:
void Method () {
}

* Properties and indexers are an exception, keep the
brace on the same line as the property declaration.
Rationale: this makes it visually
simple to distinguish them.

good:
int Property {
get {
return value;
}
}

bad:
int Property
{
get {
return value;
}
}

Notice how the accessor "get" also keeps its brace on the same
line.

For very small properties, you can compress things:

ok:
int Property {
get { return value; }
set { x = value; }
}

* Use white space in expressions liberally, except in the presence
of parenthesis:

good:

if (a + 5 > method (blah () + 4))

bad:
if (a+5>method(blah()+4))

* For any new files, please use a descriptive introduction, like
this:

//
// System.Comment.cs: Handles comments in System files.
//
// Author:
// Juan Perez ([email protected])
//
// (C) 2002 Address, Inc (http://www.address.com)
//

* If you are modyfing someone else's code, and your contribution
is significant, please add yourself to the Authors list.

* Switch statements have the case at the same indentation as the
switch:

switch (x) {
case 'a':
...
case 'b':
...
}

* Argument names should use the camel casing for
identifiers, like this:

good:
void Method (string myArgument)

bad:
void Method (string lpstrArgument)
void Method (string my_string)

* Empty methods: They should have the body of code using two
lines, in consistency with the rest:

good:
void EmptyMethod ()
{
}

bad:
void EmptyMethod () {}

void EmptyMethod ()
{}

* Line length: The line length for C# source code is 134 columns.


If your function declaration arguments go beyond
this point, please align your arguments to match the
opening brace, like this:

void Function (int arg, string argb,
int argc)
{
}

When invoking functions, the rule is different, the
arguments are not aligned with the previous
argument, instead they begin at the tabbed position,
like this:

void M ()
{
MethodCall ("Very long string that will force",
"Next argument on the 8-tab pos",
"Just like this one")

}

Here are a couple of examples:

class X : Y {

bool Method (int argument_1, int argument_2)
{
if (argument_1 == argument_2)
throw new Exception (Locale.GetText ("They are equal!");

if (argument_1 < argument_2) {
if (argument_1 * 3 > 4)
return true;
else
return false;
}

//
// This sample helps keep your sanity while using 8-spaces for tabs
//
VeryLongIdentifierWhichTakesManyArguments (
Argument1, Argument2, Argument3,
NestedCallHere (
MoreNested));
}

bool MyProperty {
get {
return x;
}

set {
x = value;
}
}

void AnotherMethod ()
{
if ((a + 5) != 4) {
}

while (blah) {
if (a)
continue;
b++;
}
}
}