Мне было интересно, почему это объявление:
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
}