1

我正在将应用程序从 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"
...

#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; }
    ...
}

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

谢谢。

4

1 回答 1

5

只需将它们声明为 const - const 也隐含地是静态的:

public class DigitalOuputs
{
  public const string FLAGLEDCOOL ="BIT12032"
  ...
}
于 2011-03-24T22:30:03.670 回答