gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:09:08 24 4
gpt4 key购买 nike

我有一组使用 C# 和 C++ 组合构建的应用程序。我们在两种语言之间有一组共享对象,与其在每种语言中分别定义每个共享对象,我更愿意使用代码生成工具。理想情况下,这样的工具是 FOSS,尽管这不是绝对要求。对象本身相对简单,尽管有从基类的继承、接口(interface)的实现、其他对象类型的包含以及其他对象类型的集合。

C++目标环境为Visual C++ 2008。

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

示例代码:

public class Tax 
{
private static Dictionary<string, double> _TaxRates;
public Dictionary<string,double> TaxRates { get { return _TaxRates; } }
}

最佳答案

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

开始使用 T4 的好地方是......

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

您需要针对 C++ 和 C# 的不同模板,并且会从其他一些元数据驱动您的代码生成。

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

更多信息:

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

SO上有相关链接:

T4 vs CodeDom vs Oslo Is it possible to dynamically compile and execute C# code fragments?

关于c# - 针对 C++ 和 C# 的代码生成工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/852909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com