Compiles but shouldn't
[Flags]
enum TransactionData : long // 64 bits. Last bit is sign bit, but I'm putting data there
{
None = 0,
Color1 = 1 << 63,
}
Errors but shouldn't
[Flags]
enum TransactionData : ulong // 64 bits. No sign bit. Not allowed to put data there
{
None = 0,
Color1 = 1 << 63,
}
Compiler Error Text:
-2147483648 cannot be converted to a ulong
Question:
I would expect the opposite to occur. Can anyone explain why this is?
Also how I can print this flags attribute to a byte[]
for inspection?
var eee = TransactionData.None | TransactionData.Color1
// How do I convert eee to byte[]?