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

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

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

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

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

Листинг программы
  1. ...................
  2. public const UInt64 CNST_ISERROR_OFBLOCKERS = 0x81000000;
  3. ....................
  4. public enum LIDAREVENTSCODE
  5. {
  6. EVT_NULLEVENT = 0 //!< пустое событие, никак не обрабатывается. индикатор "живости"
  7. ,
  8. EVT_COVERAGE_OFF = ((lidar_events.CNST_ISERROR_OFBLOCKERS | lidar_events.CNST_BRKURGENT) | 24)
  9. ,
  10. EVT_NO_TUBEHEAT = (lidar_events.CNST_ISERROR_OFBLOCKERS | lidar_events.CNST_BRKURGENT | 25)
  11. ,
  12. EVT_PREIONIZATION = (lidar_events.CNST_ISERROR_OFBLOCKERS | lidar_events.CNST_BRKURGENT | 26)
  13. ,
  14. }
Может кто подскажет как с этим бороться?

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

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

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


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

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

13   голосов , оценка 3.615 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы