Sergey Alexandrovich Kryukov
Если вы хотите написать свой собственный код, вы можете использовать отражение. Посмотрите на систему типов.Тип: http://msdn.microsoft.com/en-us/library/system.type.aspx[^].
Он содержит исчерпывающую информацию о базовом типе, свойствах, полях, конструкторах, методах, атрибутах и т. д. Также доступны непубличные члены клуба. Все возвращаемые типы этих методов также содержат исчерпывающую информацию. Другими словами, вы можете собирать исчерпывающие метаданные о своем коде. Этого более чем достаточно для построения полной диаграммы классов.
Для графического представления я не знаю ничего лучше, чем WPF.
На самом деле я не знаю действительно хорошей утилиты для построения диаграмм. Visual Studio делает это, но для меня использование ее не стоит затраченных усилий. Он не соответствует нотации UML (может быть, это и неплохо) и, что немаловажно, нет возможности импортировать его в какую — либо векторную графику (с какой стати- не знаю! У Microsoft есть все, чтобы сделать это идеально, например, в виде XAML).
Кроме того, посмотрите на отражатель, http://en.wikipedia.org/wiki/.NET_Reflector[^].
—СА