根据文档,表单的枚举类型约束
: enum<underlying-type>
“不适合常用”。这意味着什么是不寻常的用途?
答案 0 :(得分:3)
首先想到的是用强类型包装器包装System.Enum
的成员:
// gets all underlying values for which an enum is defined
let definedVals<'a, 'b when 'a : enum<'b>> =
System.Enum.GetValues(typeof<'a>)
|> Seq.cast<'a>
|> Seq.map (LanguagePrimitives.EnumToValue)
let ints = definedVals<System.ConsoleColor,_>