Enum сложные вводные константы перечислений. Неявное преобразование типа "ulong" в "int" невозможно - C#

Узнай цену своей работы

Формулировка задачи:

в плюсах и делфи прекрасно работает следующее определение для enum
#define CNST_ISERROR_OFBLOCKERS        0x81000000
#define CNST_BRKURGENT                 0xC00000
typedef enum
{
      EVT_NULLEVENT    = 0 //!< пустое событие, никак не обрабатывается. индикатор "живости"
 
    , EVT_COVERAGE_OFF  = (CNST_ISERROR_OFBLOCKERS | CNST_BRKURGENT | 24) 
    , EVT_NO_TUBEHEAT   = (CNST_ISERROR_OFBLOCKERS | CNST_BRKURGENT | 25)
    , EVT_PREIONIZATION = (CNST_ISERROR_OFBLOCKERS | CNST_BRKURGENT | 26)
}EVENTSCODE_
В C# же при формировании enum выдает ошибку:

Неявное преобразование типа "ulong" в "int" невозможно

...................
public const UInt64 CNST_ISERROR_OFBLOCKERS =       0x81000000;
....................
 
public  enum LIDAREVENTSCODE
{
      EVT_NULLEVENT    = 0 //!< пустое событие, никак не обрабатывается. индикатор "живости"
    ,
      EVT_COVERAGE_OFF = ((lidar_events.CNST_ISERROR_OFBLOCKERS | lidar_events.CNST_BRKURGENT) | 24) 
    ,
      EVT_NO_TUBEHEAT = (lidar_events.CNST_ISERROR_OFBLOCKERS | lidar_events.CNST_BRKURGENT | 25) 
    ,
      EVT_PREIONIZATION = (lidar_events.CNST_ISERROR_OFBLOCKERS | lidar_events.CNST_BRKURGENT | 26)
    ,
}
Может кто подскажет как с этим бороться?

Решение задачи: «Enum сложные вводные константы перечислений. Неявное преобразование типа "ulong" в "int" невозможно»

textual
Листинг программы
        public  enum LIDAREVENTSCODE : ulong
        {
            // ...
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.615 из 5
Похожие ответы