CodeDom and @

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Ron Bullman

    #1

    CodeDom and @

    Hi,

    I havent been able to find any documentation about @ in the CodeDom context.
    The problem is when generating C# code from CodeDom it will associate a
    @-tag with all C# specific types. Why? And how to configure the CodeDom to
    generate code without @-tags?


    Ron
    A short example follows whic produces following kind of output:
    <code>

    namespace tst.CodeDom {



    public class TstType {


    private TstType(String validString, @string oddString) {

    }

    }

    }

    </code>

    And the generating program

    <code>

    namespace tst.CodeDom {

    using System;

    using System.CodeDom;

    using System.CodeDom. Compiler;

    using Microsoft.CShar p;

    using System.IO;

    using System.Text;

    public class Generator {

    [STAThread]

    public static void Main(string[] args) {

    create();

    generate();

    }

    private static CodeNamespace module;

    private static void generate() {

    CSharpCodeProvi der provider= new CSharpCodeProvi der();

    ICodeGenerator generator= provider.Create Generator();

    CodeGeneratorOp tions options= new CodeGeneratorOp tions();

    options.BlankLi nesBetweenMembe rs= true;

    options.IndentS tring= "\t";

    //

    StreamWriter writer= new StreamWriter("o dd.cs", false);

    generator.Gener ateCodeFromName space(module, writer, options);

    writer.Close();

    }

    private static void create() {

    module= new CodeNamespace(" tst.CodeDom");

    //

    CodeTypeDeclara tion type=

    new CodeTypeDeclara tion("TstType") ;

    module.Types.Ad d(type);

    //

    CodeConstructor constructor= new CodeConstructor ();

    type.Members.Ad d(constructor);

    //

    CodeParameterDe clarationExpres sion expression=

    new CodeParameterDe clarationExpres sion("String", "validStrin g");

    constructor.Par ameters.Add(exp ression);

    expression=

    new CodeParameterDe clarationExpres sion("string", "oddString" );

    constructor.Par ameters.Add(exp ression);

    }

    }

    }

    </code>




Working...