有没有人用过C#的CodeDom这个自动生成代码的

zld_baggio 2011-09-08 09:24:44
有没有人用过C#的CodeDom这个自动生成代码的东西? 是否可以指点一下,不胜感激涕零~~~
...全文
222 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zld_baggio 2011-09-15
  • 打赏
  • 举报
回复
呵呵,问题搞定了,谢谢大家 ~~
zld_baggio 2011-09-14
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 sb1ue 的回复:]

引用 9 楼 zld_baggio 的回复:

引用 8 楼 sb1ue 的回复:

代码生成器?
前不久刚做了一个。
其实就是用StringBuilder拼接字符串
然后就是从数据库中查找选定数据库中的字段什么的。
再就是自己写一个函数 来让你的关键字变色咯。
其实很容易的。


那你生成之后如何让新生成的类编译生成新版本的DLL的呢?

我没有将它编译,只是把它存……
[/Quote]


多谢各位,生成代码的cs文件已经可以生成,但是现在的问题是没法自动编译,自动编译的时候总是报“System.Text命名空间不存在”。

我对空间是这么加进去的:
CodeNamespace codeNamespace = new CodeNamespace();
codeNamespace.Imports.Add(new CodeNamespaceImport("System"));
codeNamespace.Imports.Add(new CodeNamespaceImport("System.Text"));
codeNamespace.Imports.Add(new CodeNamespaceImport("System.Text.RegularExpressions"));
codeNamespace.Imports.Add(new CodeNamespaceImport("System.Collections.Generic"));

编译部分是:
CompilerResults cr = provider.CompileAssemblyFromDom(cp, unit);

cr.Errors.HasErrors

调试了一天还剩下一个Errors搞不定了。不知道大家有没有什么办法可以解决。
sb1ue 2011-09-08
  • 打赏
  • 举报
回复
代码生成器?
前不久刚做了一个。
其实就是用StringBuilder拼接字符串
然后就是从数据库中查找选定数据库中的字段什么的。
再就是自己写一个函数 来让你的关键字变色咯。
其实很容易的。
zld_baggio 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 cremerchen 的回复:]

没有没有没有没有没有没有没有没有没有没有没有没有没有
[/Quote]

乖,快点吃完药回去好好休息~~
cremerchen 2011-09-08
  • 打赏
  • 举报
回复
没有没有没有没有没有没有没有没有没有没有没有没有没有
Dobzhansky 2011-09-08
  • 打赏
  • 举报
回复
CodeDOM 很直白, 表达式, 赋值语句, 各种可以写出来的代码, 都有对应的类型.
熟悉并灵活运用那些类型是一回事.

根据业务需要制造一个代码生成机制是另外一回事.

在设计时结构中用过.
zld_baggio 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jinkuang45 的回复:]

我用过, 刚用时我也迷糊,上网找了个生成实体类的模版 , 看个1天半天的就可以自己写模版了
[/Quote]


大侠,可以说的详细一些吗,或者给个栗子啥的 ~~~
萧炎 2011-09-08
  • 打赏
  • 举报
回复
动软代码编译器?
wenyegood 2011-09-08
  • 打赏
  • 举报
回复
我用的mygenerition
冰川711 2011-09-08
  • 打赏
  • 举报
回复
我用过, 刚用时我也迷糊,上网找了个生成实体类的模版 , 看个1天半天的就可以自己写模版了
sb1ue 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zld_baggio 的回复:]

引用 8 楼 sb1ue 的回复:

代码生成器?
前不久刚做了一个。
其实就是用StringBuilder拼接字符串
然后就是从数据库中查找选定数据库中的字段什么的。
再就是自己写一个函数 来让你的关键字变色咯。
其实很容易的。


那你生成之后如何让新生成的类编译生成新版本的DLL的呢?
[/Quote]
我没有将它编译,只是把它存为了一个CS文件。
zld_baggio 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sb1ue 的回复:]

代码生成器?
前不久刚做了一个。
其实就是用StringBuilder拼接字符串
然后就是从数据库中查找选定数据库中的字段什么的。
再就是自己写一个函数 来让你的关键字变色咯。
其实很容易的。
[/Quote]

那你生成之后如何让新生成的类编译生成新版本的DLL的呢?

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧