Вы можете использовать функции из модуля LanguagePrimitives
:
// Convert enum value to the underlying char value
let ch = LanguagePrimitives.EnumToValue Suit.Clubs
// Convert the char value back to enum
let suit = LanguagePrimitives.EnumOfValue ch
РЕДАКТИРОВАТЬ: Я не видел эти функции в моей первой попытке ответа, поэтому я сначала предложил использовать:
unbox<char> Suit.Clubs
Это короче, чем то, что предлагает ildjarn в комментарии, но у него та же проблема - нет проверки, что вы на самом деле конвертируете в нужный тип. С EnumToValue
вы не можете сделать эту ошибку, потому что она всегда возвращает значение правильного базового типа.