Para generar código en .NET yo uso el namespace CodeDom. Hay cosas que son fáciles de generar y otras un poco más complicadas, por ejemplo, para generar código que tenga Generics hay que hacer lo siguiente:
CodeTypeDeclaration newClass = new CodeTypeDeclaration("MyCollectionClass");
newClass.BaseTypes.Add( new CodeTypeReference("Collection",
new CodeTypeReference[] {
new
CodeTypeReference("MyBaseClass")
}));
Y tendremos algo así:
public class MyCollectionClass : Collection<MyBaseClass>
{
// Chachan!!!!
}
Hasta la próxima