Próbuję przekonwertować wyliczenie z kodu C++ na kod C# i mam problem z owinięciem się wokół niego. C kod ++ to:Odtwarzanie kodu przesunięcia bitowego z C++ do C#
enum FOO {
FOO_1 = 0,
FOO_2,
// etc
}
#define MASK(x) ((1 << 16) | (x))
enum DISP
{
DISP_1 = MASK(FOO_1),
DISP_2 = MASK(FOO_2),
// etc
}
Co ja nie rozumiem, co MASK robi, i jak mogę albo naśladować funkcjonalność w C#, lub zrozumieć, co robi i ustawić DISP enum ręcznie bez niego.
Nie jestem pewien, co mówię, ma sens, ale tego można się spodziewać, gdy nie jestem całkowicie pewien, na co patrzę.
Należy przeczytać o przesunięcie (<<) i albo (|) operatorów w C++, dzięki czemu można zrozumieć, co się dzieje. – coredump
Zdecydowanie będę! – Wint