我正在将应用程序从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; }
...
}
虽然我必须在构造函数中设置默认值,我试图避免它们,并且它们应该是只读的。
感谢。
答案 0 :(得分:5)
只需将它们声明为consts - const is implicitly a static:
public class DigitalOuputs
{
public const string FLAGLEDCOOL ="BIT12032"
...
}