Как лучше всего переносить #defines из файла .h в приложение C #? - PullRequest
1 голос
/ 25 марта 2011

Я конвертирую приложение из 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; }
    ...
}

Хотя мне нужно было бы установить значение по умолчанию в конструкторе, которого я пытаюсь избежать, и они должны быть доступны только для чтения.

Спасибо.

1 Ответ

5 голосов
/ 25 марта 2011

Просто объявите их как conts - const также неявно является статическим :

public class DigitalOuputs
{
  public const string FLAGLEDCOOL ="BIT12032"
  ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...