Parsing f#将字符串解析为颜色
对F#来说是个新手,对语法也不太确定。错误发生在Parsing f#将字符串解析为颜色,parsing,colors,f#,Parsing,Colors,F#,对F#来说是个新手,对语法也不太确定。错误发生在 Error 1 This expression was expected to have type Color but here has type obj System.Enum.Parse返回需要强制转换为枚举类型的obj类型。您可以使用:?>或downcast来执行此操作。在您的情况下,类型是已知的,因此您可以使用downcast 有关更多信息,请参阅文档 "Color = txtBoxVal4" clickedCirc
Error 1 This expression was expected to have type
Color
but here has type
obj
System.Enum.Parse
返回需要强制转换为枚举类型的obj
类型。您可以使用:?>
或downcast
来执行此操作。在您的情况下,类型是已知的,因此您可以使用downcast
有关更多信息,请参阅文档
"Color = txtBoxVal4"
clickedCircle用于Enum.Parse
的包装函数可以很好地利用Enum
约束,并消除在调用站点取消装箱的需要
clickedCircle <- {X = txtBoxVal2; Y = txtBoxVal3; Diameter = txtBoxVal1; Color = downcast txtBoxVal4}
模块枚举=
让parse>value=Enum.parse(typeof
clickedCircle <- {X = txtBoxVal2; Y = txtBoxVal3; Diameter = txtBoxVal1; Color = downcast txtBoxVal4}
module Enum =
let parse<'T, 'U when 'T : enum<'U>> value = Enum.Parse(typeof<'T>, value) :?> 'T
let color = Enum.parse "Black"