打印枚举时出现ToString异常

Pau*_*icz 6 .net f#

鉴于我有一个枚举:

type Cool = A = 'a'
          | B = 'b'
Run Code Online (Sandbox Code Playgroud)

我试着像这样打印它

printf "%A" Cool.A
Run Code Online (Sandbox Code Playgroud)

我得到以下异常:

ToString异常:传入的值必须是枚举基础或枚举的基础类型,例如Int32.参数名称:value

为什么会发生这种情况并且(如果可能的话)我如何在枚举级别修复此问题?

Bri*_*ian 3

我可以在具有面向 .Net 4.0 的 F# 2.0 编译器的计算机上重现此内容,但不能在面向 .Net 3.5 或更低版本的 F# 2 编译器上重现此内容,或者在 VS2012 (F# 3.0) 计算机上重现此内容(其中 .Net 4.5 取代 4.0)。

我现在不确定原因,但希望这些信息可以帮助您或其他人缩小范围或找到解决方法。