将.h文件中的#defines移植到C#应用程序的最佳做法是什么?

Rya*_*n R 1 c# c++ compiler-directives

我正在将应用程序从C++转换为C#.C++应用程序有一个定义文件.h,有超过500个#define指令.我想在Definition.cs文件中表示此数据.做这个的最好方式是什么?

定义的一个例子:

//Digital ouputs
#define FLAGLEDCOOL             "BIT12032"
#define FLAGLEDLASERINTLK       "BIT12036"
#define FLAGLEDLASERSTANBDY     "BIT12038"
...

//Digital inputs
#define FLAGSTATUSINTLKRELAY    "BIT11535"
#define FLAGSTATUSEMERGRELAY    "BIT11533"
#define FLAGSTATUSKVMRELAY      "BIT11531"
...
Run Code Online (Sandbox Code Playgroud)

#defines被分组,因此这让我想到使用属性,例如:

public class DigitalOuputs
{
    public static string FLAGLEDCOOL { get; }
    public static string FLAGLEDLASERINTLK { get; }
    public static string FLAGLEDLASERSTANBDY { get; }
    ...
}

public class DigitalInputs
{
    public static string FLAGSTATUSINTLKRELAY { get; }
    public static string FLAGSTATUSEMERGRELAY { get; }
    public static string FLAGSTATUSKVMRELAY { get; }
    ...
}
Run Code Online (Sandbox Code Playgroud)

虽然我必须在构造函数中设置默认值,我试图避免它们,并且它们应该是只读的.

谢谢.

Ode*_*ded 5

只需将它们声明为consts - const也是一个静态的:

public class DigitalOuputs
{
  public const string FLAGLEDCOOL ="BIT12032"
  ...
}
Run Code Online (Sandbox Code Playgroud)