There is no such code. CodeDOM operates on abstract graphs, not on a textual
representation. You can view the generated IL (and translate it into C#)
using a tool like Reflector (
http://www.red-gate.com/products/reflector/).
You most certainly can get the code - I have written a code generator using
CodeDOM... Here is a snip-it:
public static string GenerateCode ( CodeGenerationParameters parameters )
{
// build the output stream
StringBuilder code = new StringBuilder ();
StringWriter writer = new StringWriter ( code );
// set options
CodeGeneratorOptions options = new CodeGeneratorOptions ();
options.BlankLinesBetweenMembers = false;
options.BracingStyle = "C";
options.VerbatimOrder = true;
options.IndentString = "\t";
// our class
CodeTypeDeclaration dataEntity = new CodeTypeDeclaration ( parameters.ClassName );
dataEntity.IsClass = true;
// make it serializable
dataEntity.CustomAttributes.Add ( new CodeAttributeDeclaration ( "Serializable" ) );
// add the fields
dataEntity.Members.AddRange ( GenerateFields ( parameters ) );
// add the default constructor
CodeConstructor defaultConstructor = new CodeConstructor ();
defaultConstructor.Attributes = MemberAttributes.Public;
dataEntity.Members.Add ( defaultConstructor );
// add the non-default constructor
dataEntity.Members.Add ( GenerateArgumentConstructor ( parameters ) );
// add the properties
dataEntity.Members.AddRange ( GenerateProperties ( parameters ) );
// generate the namespace code
CodeDomProvider provider = GetCodeDomProvider ( parameters.CodeGenerationLanguage );
provider.GenerateCodeFromType ( dataEntity, writer, options );
return code.ToString ();
}
private static CodeDomProvider GetCodeDomProvider (CodeGenerationLanguage language)
{
return ( language == CodeGenerationLanguage.CSharp ) ? (CodeDomProvider) new CSharpCodeProvider () : (CodeDomProvider) new VBCodeProvider ();
}