【发布时间】:2012-08-14 07:23:55
【问题描述】:
使用 CodeDom / CSharpCodeProvider 生成 C# 代码时,是否可以在可能的情况下强制输出使用 C# aliases 而不是 CLR 类型?
我目前正在解析生成的 C# 代码并用它们的别名替换 CLR 类型,但我想知道是否可以在代码生成期间执行此操作。
【问题讨论】:
-
你目前是如何在代码dom中指定类型的?
-
CodeDom 没有提供更改它发出的文本的选项。除非您编写自己的提供程序或对文本进行后处理。
-
你的目标是什么?你这样做是为了什么? CodeDomProvider 用于生成程序集,在这两种情况下结果是相等的
-
使用 CLR 类型存在问题的情况是在声明具有基类型的枚举时。例如,生成的代码是“enum : UInt32”而不是“enum : uint”。
标签: c# codedom csharpcodeprovider