У вас должны быть извлечены из ( subversion URL-адреса оформления заказа здесь ):
trunk / libgdiplus
Это - это библиотека, используемая System.Drawing.
trunk / mono
Это то, что мы называем средой выполнения Mono . Содержит в основном исходный код C. В этом каталоге вы можете найти:
trunk / mcs
Здесь компилятор C #, библиотеки классов , тесты библиотек классов и другие инструменты:
class / : одна папка на сборку. Каждый из них содержит исходный код для каждой сборки, разделенной на каталоги с именем пространства имен (например, System / System.Configuration и т. Д.), А также обычно каталог Test. Единственное исключение именования - это mscorlib , соответствующая папка которого называется corlib .
Например, если вы хотите увидеть исходный код для System.Net.HttpWebRequest ], который находится в сборке System.dll , перейдите в trunk / mcs / class / System / System.Net и там должен быть файл с именем HttpWebRequest.cs , содержащий искомый код.
mcs / : исходники для компиляторов C # (mcs, gmcs, smcs, dmcs ...)
Вокруг гораздо больше каталогов, но именно там вы следует искать код C и C #. Также я предложил ствол для оформления заказа,
Гонсало предоставил хороший обзор различных модулей.
Поскольку вы также упомянули о своем желании внести свой вклад в документацию, вам понадобится еще несколько фрагментов информации.
Во-первых, документация. хранится в файлах XML в mcs / class / [assembly] / Documentation / , например, mcs / class / corlib / Documentation . Намерение состоит в том, чтобы поддерживать несколько человеческих языков (хотя в настоящее время разрабатывается только английский), поэтому в Documentation есть языковой каталог, обычно en
. В en
есть файлы ns - *. Xml
, например, mcs / class / corlib / Documentation / en / ns-System.xml содержит документацию для пространство имен System
. Также в en
находятся каталоги "пространства имен с точками", и внутри них находятся файлы XML, по одному на тип, например mcs / class / corlib / Documentation / en / System.Collections.Generic / IEnumerable`1.xml .
Это также описано в документация mdoc (5) в разделе СТРУКТУРА ФАЙЛОВ / КАТАЛОГА
.
После того, как вы нашли документацию, вам необходимо знать формат XML, который также описан в документацию mdoc (5) в разделе NamespaceName / TypeName.xml File Format
. Используемый диалект XML представляет собой вариант ECMA 335 XML-документации , измененный на один файл для каждого типа (вместо всех типов в одном монолитном файле). Это также надмножество документации C # XML (см. Приложение E. Комментарии к документации
, стр. 487).
Наконец, есть ' s вопрос о добавлении новых типов / членов в каталог mcs / class / [assembly] / Documentation . Если у вас собран Mono, вы можете использовать doc-update
цель Makefile. Это запустит соответствующую сборку через mdoc (1) и обновит соответствующие файлы в каталоге Documentation .
Если у вас есть другие вопросы по документации, не стесняйтесь спрашивать в списке рассылки mono-docs-list .