FSharp.Data可选类型抛出异常

时间:2015-07-01 07:25:10

标签: f# f#-data

我有一个Xml,其中一个节点如下:

<code>23</code>

FSharp.Data正确推断&#34; Code&#34;的类型成为一个选择int。我的问题是当节点为空时如下:

<code />

我收到以下异常

Value is missing at <StartupCode$FSharp-Data>.$TextRuntime.GetNonOptionalValue@109-4.Invoke(String message) in C:\Git\FSharp.Data\src\CommonRuntime\TextRuntime.fs:line 109

有什么方法可以取回Option.None而不是抛出异常吗?

编辑:对于推断为选项字符串的类型,它按预期工作。

1 个答案:

答案 0 :(得分:0)

您尝试了SampleIsList吗?这是一个工作正常的示例。

#r "packages/FSharp.Data/lib/net45/FSharp.Data.dll"

#r "System.Xml.Linq"

open FSharp.Data

type Code = XmlProvider< """<samples><code>123</code><code /></samples>""", SampleIsList=true >

Code.Parse("<code>123</code>") = Some 123 //true
Code.Parse("<code />") = None //true