我正在将托管c++项目转换为C#项目。C++项目包括一个常量C++头文件,它是项目外部的一个外部依赖项。
在新创建的C#文件中,是否存在包含此C++头文件的方法?我不想在C#文件中重新定义这些常量,因为客户端将对C++头文件进行更改。
发布于 2013-08-01 14:22:22
不可能把它包括进去。
你真的有两个选择
正如其他人所指出的,您可以自动完成第一个任务。
发布于 2013-08-01 14:28:26
如果您有大量的头文件,您可以查看SWIG:http://www.swig.org/。
这将从C/C++头文件生成C#文件。
有关更多信息,请参见:http://www.swig.org/Doc2.0/SWIGDocumentation.html#CSharp
结果令人印象深刻!但命名方式更像C++,而不是C#风格.但这是预料中的..。
发布于 2013-08-01 14:21:25
不幸的是,这是不可能的,因为C#编译器不知道如何处理.h文件。即使是这样,在.NET中使用非作用域变量声明(常量或其他变量)仍然是非法的。
您必须手动转换该文件,或者如Joachim Pileborg的注释中所提到的那样,为您构建一个自动转换它为C#代码的实用工具。
https://stackoverflow.com/questions/17996525
复制相似问题