相关疑难解决方法(0)

解决枚举上不完整的模式匹配问题

在模式匹配时,是否有任何创造性的方法可以解决.NET的"弱"枚举问题?我希望它们的功能与DU类似.这是我目前处理它的方式.有更好的想法吗?

[<RequireQualifiedAccess>]
module Enum =
  let unexpected<'a, 'b, 'c when 'a : enum<'b>> (value:'a) : 'c = //'
    failwithf "Unexpected enum member: %A: %A" typeof<'a> value //'

match value with
| ConsoleSpecialKey.ControlC -> ()
| ConsoleSpecialKey.ControlBreak -> ()
| _ -> Enum.unexpected value //without this, gives "incomplete pattern matches" warning
Run Code Online (Sandbox Code Playgroud)

enums f# pattern-matching

11
推荐指数
2
解决办法
1775
查看次数

标签 统计

enums ×1

f# ×1

pattern-matching ×1