如何在c#中从.h文件中读取常量

how to read constants from .h file in C#

本文关键字:文件 读取 常量 中从      更新时间:2023-10-16

我想读取c#中的常量,这些常量是在c++的。h文件中定义的。有人能告诉我如何在c#中执行这个吗?c++ .h文件如下所示:

#define MYSTRING1 "6.9.24 (32 bit)"
#define MYSTRING2 "6.8.24 (32 bit)"

这是一个非常简单的答案,您可以在.h文件的每一行中使用它来提取字符串值。

string GetConstVal(string line)
{
  string[] lineParts = string.Split(line, ' ');
  if (lineParts[0] == "#define")
  {
    return lineParts[2];
  }
  return null;
}

任何时候它返回null,你就没有常数了。现在请记住,它只获取常量的值,而不是名称,但您可以轻松地修改代码,通过out参数等返回该值。

如果你想表示其他数据类型,如整数等,你必须想出一些聪明的方法,因为c++中的宏并不算类型安全。

您有两个选择:

1-创建一个c++包装代码,用于包装这些宏,将这些代码导出到库或dll中,并在c#中使用。

2-从代码中读取/解析.h文件,并在运行时获取值。