Casi todo listo para terminar la librería, he limpiado el cí³digo ahora esta mí¡s legible, mí¡s rí¡pido y con mayor soporte: clases anidadas, enumeraciones, arreglos, elementos pasados por referencia y punteros, y lo que había dicho antes, un parí¡metro para "nivelar" la profundidad de la importacií³n, ahora por defecto se hace la importacií³n AssemblyImport, es decir íºnicamente se hace ingeniería inversa a los ensamblados importados y no a sus dependencias, algo que por lo general es lo que se busca, y ademí¡s esta el clí¡sico FullImport, donde se busca hasta el nivel mí¡s bajo de informacií³n, por ejemplo si un mí©todo utiliza un System.Int32 (o un int en pocas palabras), tambií©n se la hace ingeniería inversa al System.Int32 a pesar de que es parte de la librería base, y así, todo recursivamente. Ademí¡s de eso ya no hay problemas de Duplicated Key al cargarlo en MonoUML, en pocas palabras todo va genial.
El cí³digo correspondiente es el siguiente:
using System;namespace NamespaceSample { public interface MyInterface { string HelloWorld (); }
<font color="#2e8b57"><b>public</b></font> <font color="#2e8b57"><b>enum</b></font> MyEnumeration { Some, Thing, Here } <font color="#2e8b57"><b>public</b></font> <font color="#2e8b57"><b>abstract</b></font> <font color="#2e8b57"><b>class</b></font> MyAbstractClass { <font color="#2e8b57"><b>public</b></font> MyAbstractClass (MyEnumeration em) { } } <font color="#2e8b57"><b>public</b></font> <font color="#2e8b57"><b>class</b></font> MyClass : MyAbstractClass, MyInterface { <font color="#2e8b57"><b>public</b></font> MyClass (MyEnumeration enm) : <font color="#a52a2a"><b>base</b></font> (enm) { } <font color="#2e8b57"><b>public</b></font> <font color="#2e8b57"><b>string</b></font> HelloWorld () { <font color="#a52a2a"><b>return</b></font> <font color="#ff00ff">"hola mundo!"</font>; } <font color="#2e8b57"><b>public</b></font> <font color="#2e8b57"><b>void</b></font> ByReference (<font color="#a52a2a"><b>ref</b></font> <font color="#2e8b57"><b>int</b></font> i) { } <font color="#2e8b57"><b>protected</b></font> <font color="#2e8b57"><b>class</b></font> InternalClass { <font color="#2e8b57"><b>public</b></font> InternalClass (MyClass parentClass) { } <font color="#2e8b57"><b>private</b></font> <font color="#2e8b57"><b>void</b></font> InternalHelloWorld () { } <font color="#2e8b57"><b>private</b></font> <font color="#2e8b57"><b>string</b></font> _myString; <font color="#2e8b57"><b>private</b></font> <font color="#2e8b57"><b>int</b></font>[] _myArray; } }
}
Espero acepten mi propuesta, tengo mucho que platicar :)
Actualizacií³n: Correcií³n de errores en imagí©n, CVS refleja los cambios.