Мне было интересно, почему эта декларация:
public enum ECountry : long
{
None,
Canada,
UnitedStates
}
требуется приведение для любого из его значений?
long ID = ECountry.Canada;
// Error Cannot implicitly convert type 'ECountry' to 'long'.
// An explicit conversion exists (are you missing a cast?)
И есть ли способ получить длинное значение непосредственно из перечисления, кроме приведения?
Это не будет работать, например:
public enum ECountry : long
{
None = 0L,
Canada = 1L,
UnitedStates=2L
}