7

我想打电话System.Uri.TryCreate()

let uriResult: System.Uri = ref (* what's here? *);
System.Uri.TryCreate(uriName, UriKind.Absolute, uriResult)

正如我在这里了解到的,必须为 .NET输出参数传递 F# 引用。

但是在我的情况下如何初始化我的参考uriResult

我尝试创建一个新的空 Uri 对象。

let uriResult: System.Uri = ref (new System.Uri());

错误 1
​​此表达式应为
     Uri类型,
但此处的类型为
    'a ref

4

1 回答 1

13

As explained in Parameters and Arguments on MSDN (see Passing by Reference), out parameters are automatically tuplized, so you can do this:

match System.Uri.TryCreate(uriName, UriKind.Absolute) with
| true, uriResult -> //OK
| _ -> //not a Uri
于 2013-07-15T15:15:52.447 回答