我正在将托管c ++项目转换为C#项目。 C ++项目包含一个常量C ++头文件,它是项目外部的外部依赖项。
在新创建的C#文件中,有没有办法包含这个C ++头文件?我不想在C#文件中重新定义这些常量,因为客户端的更改将发生在C ++头文件中。
答案 0 :(得分:3)
不可能包含它。
你真的有两个选择
正如其他人所说,你可以自动化第一个。
答案 1 :(得分:2)
如果你有大量的头文件,你可以看看SWIG:http://www.swig.org/
这将从C / C ++头文件生成C#文件。
有关详细信息,请参阅:http://www.swig.org/Doc2.0/SWIGDocumentation.html#CSharp
结果令人印象深刻!但是命名比C#风格更像C ++ ......但这是预期的......
答案 2 :(得分:0)
不幸的是,不可能,因为C#编译器不理解如何处理.h文件。即便如此,在.NET中使用无范围的变量声明(常量或其他)仍然是非法的。
您必须手动转换文件,或者如Joachim Pileborg的评论中所述,构建一个实用程序,将其自动转换为C#代码。