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>
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>