当前位置:  开发笔记 > 编程语言 > 正文

针对C++和C#的代码生成工具

如何解决《针对C++和C#的代码生成工具》经验,为你挑选了1个好方法。

我有一组使用C#和C++组合构建的应用程序.我们在两种语言之间有一组共享对象,而不是在每种语言中单独定义每个语言,我宁愿使用代码生成工具.理想情况下,这样的工具将是FOSS,尽管这不是绝对的要求.尽管存在来自基类的继承,接口的实现,其他对象类型的包含以及其他对象类型的集合,但对象本身相对简单.

C++目标环境是Visual C++ 2008.

有没有人对可以处理这种任务的工具有任何建议?

示例代码:

public class Tax 
{ 
private static Dictionary _TaxRates; 
public Dictionary TaxRates { get { return _TaxRates; } }
}

Martin Peck.. 7

对于任何代码生成问题,我都会仔细研究T4(VS.NET 2008中出现的文本模板功能).

从T4开始的好地方是......

http://www.hanselman.com/blog/T4TextTemplateTransformationToolkitCodeGenerationBestKeptVisualStudioSecret.aspx

您将需要不同的C++和C#模板,并将从其他元数据驱动您的代码生成.

另一种方法是使用CodeDom API.这有两个可以针对每种语言的CodeDomProviders(CppCodeProvider和CSharpCodeProvider).

欲获得更多信息:

http://msdn.microsoft.com/en-us/library/system.codedom.compiler.aspx

SO上有相关的链接:

T4 vs CodeDom vs Oslo 是否有可能动态编译和执行C#代码片段?



1> Martin Peck..:

对于任何代码生成问题,我都会仔细研究T4(VS.NET 2008中出现的文本模板功能).

从T4开始的好地方是......

http://www.hanselman.com/blog/T4TextTemplateTransformationToolkitCodeGenerationBestKeptVisualStudioSecret.aspx

您将需要不同的C++和C#模板,并将从其他元数据驱动您的代码生成.

另一种方法是使用CodeDom API.这有两个可以针对每种语言的CodeDomProviders(CppCodeProvider和CSharpCodeProvider).

欲获得更多信息:

http://msdn.microsoft.com/en-us/library/system.codedom.compiler.aspx

SO上有相关的链接:

T4 vs CodeDom vs Oslo 是否有可能动态编译和执行C#代码片段?

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有