Enum сложные вводные константы перечислений. Неявное преобразование типа "ulong" в "int" невозможно - C#
Формулировка задачи:
в плюсах и делфи прекрасно работает следующее определение для enum
В 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_Неявное преобразование типа "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
{
// ...
}