文档章节

CodeDom Assistant CodeDom的强大工具, 有些BUG修正了下,发到CodePlex,大家有需要的可以看看

麦壳饼
 麦壳饼
发布于 2015/12/09 12:56
字数 551
阅读 16
收藏 0

CodeDom Assistant CodeDom的强大工具, 有些BUG修正了下,发到CodePlex,大家有需要的可以看看

一、第一次编译并调整代码 二、修正泛型无法生成CodeDOM代码 后期我会用到这个工具, 如果有需要修改, 会及时修改和改进, 有兴趣的可以参与进来。 http://codedomassistant.codeplex.com/
Generating CodeDom Code By Parsing C# or VB 使用C#或者VB生成CodeDom代码

Introduction
I find writing CodeDom code kind of like writing assembly. It's like cutting the grass with a pair of scissors or unloading a truck load of sand with a spoon. Its long winded, it can be done, but it is tedious. However, there are advantages in using CodeDom.
Now, it would be nice if you could whip up a class in VB or C# and generate the CodeDom code. CodeDom Assistant does this with the help of SharpDevelop's NRefactory Library in conjunction with writing our own CodeDomProvider to generate C# CodeDom code. The code you get will construct a CodeDom compileunit, and it will definitely be ugly. But what can you expect from a machine?
Background
Code Generation can be done using various techniques. In essence, code generation saves time, and enables you to create code using established patterns.
In the world of .NET, one technique is to use CodeDom. It allows you create a document object model of the code. This can by either compiled into an assembly or used to generate code. Every .NET language should have an implementation of a CodeDomProvider to generate code. The problem is that CodeDom does not implement every syntax construct of every language. In essence, it is a subset, but there are enough operations to emulate most language constructs.
Parsing C# or VB is going to be the toughest part, but luckily one of SharpDevelop's little libraries is NRefactory. This has the machinerary required to parse C# or VB code. The key component for us is the CodeDomVisitor class. Sadly, it is only a partial implementation. They implement enough to run SharpDevelop's form generation. I am not saying I have completed the implementation, rather, I have filled most of the holes in the CodeDomVisitor.
The second part is implementing a CodeDomCodeProvider. This will take a CodeDom compile unit and generate C# code that will create a CodeDom compile unit.
License This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.
About the old Version  Author
raygilbert http://www.codeproject.com/Articles/20597/CodeDom-Assistant http://www.codeplex.com/Download?ProjectName=codedomassistant&DownloadId=381289 http://download.codeplex.com/Download?ProjectName=codedomassistant&DownloadId=381290
About New Version Author MysticBoy http://www.mysticboy.cn

 

原文:

CodeDom Assistant CodeDom的强大工具, 有些BUG修正了下,发到CodePlex了 http://www.xjiter.com/forum.php?mod=viewthread&tid=86&fromuid=1

© 著作权归作者所有

麦壳饼

麦壳饼

粉丝 23
博文 73
码字总数 4828
作品 7
昌平
高级程序员
私信 提问
CodePlex站点的Wiki引擎现已开源

来自CodePlex站点的Wiki引擎现在正式开源。 来自微软开源站点CodePlex的Wiki呈现引擎已经作为API开源了Matt Hawley写到: 很久以前,CodePlex其实就已经有一个比较完善的Wiki引擎。一般情况下...

红薯
2009/08/10
1K
0
CodePlex 开始提供 Git 支持

在广大开发人员的强力要求下,CodePlex 为源代码控制提供了 Git 支持。Git 是 CodePlex 托管项目第三种可用的源代码控制系统,前两种是 TFS 和 Mercurial。(第四种选项是对 TFS 使用 SVN 绑...

墙头草
2012/04/13
1K
7
微软代码托管平台 CodePlex 正式关闭,进入封存状态

正如我们之前所报道的,随着 CodePlex 的不断没落,微软于 1 月 30 日发文宣布,CodePlex.com 网站正式退役,现在打开该网址会跳转到一个封存归档页面。该存档包含在 2017 年下半年进入只读模...

王练
2018/02/03
3.1K
6
CodePlex基金会改名为Outercurve基金会

微软有一个开源项目托管平台CodePlex.com,而CodePlex基金会则是一个促进企业和社区在开源方面展开合作的非营利组织,然而由于名称相同人们常常会将CodePlex基金会和CodePlex.com混淆起来,因...

红薯
2010/09/29
1K
3
微软宣布 .NET 编译器 Roslyn 即将移到 Github

这是来自微软官方的消息,.NET 编译器 Roslyn 即将移到 Github 上。 Roslyn 原先是在微软自家的 CodePlex 上存放,但 CodePlex 没有 Github 那么具有活力,因此团队决定全面迁移到 Github,这...

oschina
2015/01/11
8.1K
8

没有更多内容

加载失败,请刷新页面

加载更多

64.监控平台介绍 安装zabbix 忘记admin密码

19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍: 常见开源监控软件 ~1.cacti、nagios、zabbix、smokeping、ope...

oschina130111
今天
13
0
当餐饮遇上大数据,嗯真香!

之前去开了一场会,主题是「餐饮领袖新零售峰会」。认真听完了餐饮前辈和新秀们的分享,觉得获益匪浅,把脑子里的核心纪要整理了一下,今天和大家做一个简单的分享,欢迎感兴趣的小伙伴一起交...

数澜科技
今天
7
0
DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN

本文作者:PETER LAI ,是 Diode 的区块链工程师。在进入软件开发领域之前,他主要是在做工商管理相关工作。Peter Lai 也是一位活跃的开源贡献者。目前,他正在与 Diode 团队一起开发基于区块...

红薯
今天
13
0
CC攻击带来的危害我们该如何防御?

随着网络的发展带给我们很多的便利,但是同时也带给我们一些网站安全问题,网络攻击就是常见的网站安全问题。其中作为站长最常见的就是CC攻击,CC攻击是网络攻击方式的一种,是一种比较常见的...

云漫网络Ruan
今天
12
0
实验分析性专业硕士提纲撰写要点

为什么您需要研究论文的提纲? 首先当您进行研究时,您需要聚集许多信息和想法,研究论文提纲可以较好地组织你的想法, 了解您研究资料的流畅度和程度。确保你写作时不会错过任何重要资料以此...

论文辅导员
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部