首页 / 知识
将C枚举导入C#
2023-04-12 16:15:00

Importing C++ enumerations into C#我目前正在创建一个新的C#项目,该项目需要与较旧的C应用程序进行交互。我需要在C#应用程序中使用的C应用程序中已经存在错误枚举。 我不想只用C#重新声明枚举,因为如果文件没有一起更新,可能会导致同步问题。 所有我所说的是这个问题:
并在C#程序中使用它,如下所示:
在C / C中,您可以#include一个包含枚举定义的.cs文件。谨慎使用预处理程序指令可解决C#和C之间的语法差异。 示例:
在C#项目中,设置条件编译符号" CSharp",确保C / C构建环境中不存在这样的预处理器定义。 请注意,这只会确保两个部件在构建时都已同步。如果您混合并匹配来自不同内部版本的二进制文件,则保证将失败。 签出PInvoke Interop Assistant工具http://www.codeplex.com/clrinterop/Release/ProjectReleases.aspx?ReleaseId=14120。它是为本地方法生成PInvoke签名的有用工具。 如果我将其提供给您的枚举,它将生成此代码。该工具包含一个命令行版本,因此您可以潜在地构建一个自动过程,以在C版本更改时使该枚举的C#定义保持最新。
简单的答案将不会。抱歉,您将不得不重新声明。 但是,我过去曾经编写脚本,将我的C枚举导入到enums.cs文件中的C#格式,并作为构建的一部分运行它,这样所有内容都可以同步。 如果在C / CLI中定义强枚举,则枚举代码将包含在dll元数据中。因此,您可以在C#中使用枚举代码。
如果您已声明枚举,例如:
和另一个文件中的:
并以.cs扩展名命名该枚举文件,您也许可以使它正常工作。
|
最新内容
相关内容
python声明变量类型
python声明变量类型,培训,代码,基础,变量,赋值,类型,字符串,语句,函数,上面,对于没有编程基础的读者,可以先不编写真正的Python程序,而是先打开python变量不需要声明吗
python变量不需要声明吗,培训,数字,变量,代码,合法,声明,类型,整数,字符串,布尔,Python中常见的数据类型有字符串,整形,列表,元组,字典等。在Pythpython怎么声明变量
python怎么声明变量,培训,通用,一致,数字,变量,声明,字符串,引号,方式,类型,python声明变量:1、变量声明声明变量的时候,直接使用例如a=1这样的python如何声明函数
python如何声明函数,培训,函数,较大,合法,代码,画线,工具,定义,单词,参数,python函数的定义定义函数,也就是创建一个函数,可以理解为创建一个具python需要声明类型吗
python需要声明类型吗,数据,培训,代码,中心,类型,声明,语言,变量,内存空间,内存,python不用去声明变量的类型,是由于其“若类型”的语言特性决python使用enum进行枚举的比较
python使用enum进行枚举的比较,异常,培训,大小,成员,实例,以上,方法,教程,更多,python使用enum进行枚举的比较1、说明(1)枚举成员未被排序,因关于apache:如何创建自签名SSL证书
关于apache:如何创建自签名SSL证书以在测试Web应用程序时使用,关于apache:如何创建自签名SSL证书以在测试Web应用程序时使用,服务器,您使用什么工具在Linux上开发C ++
您使用什么工具在Linux上开发C ++应用程序?,您使用什么工具在Linux上开发C ++应用程序?,插件,应用程序,工具,我在,What tools do you u关于java:应用程序配置文件
关于java:应用程序配置文件,关于java:应用程序配置文件,配置文件,应用程序,方法,努力,Application configuration files好的,所以我不想关于链接器:将我的混合模式应用程序
关于链接器:将我的混合模式应用程序链接到哪些库?,关于链接器:将我的混合模式应用程序链接到哪些库?,应用程序,集成,支持,这是一个,What关于vb.net:通过文件资源管理器在我
关于vb.net:通过文件资源管理器在我的应用程序中打开文件,关于vb.net:通过文件资源管理器在我的应用程序中打开文件,应用程序,自定义,iPhone Web应用程序,模板,框架?
iPhone Web应用程序,模板,框架?,iPhone Web应用程序,模板,框架?,应用程序,站点,用于,网页,iPhone web applications, templates, framework