我在 F# 中做了一个函数
let tryParseArray tryParse (separator:char) (line: string) =
// inside the function I use the tuple form of tryParse
如果我以这种方式调用它,它工作正常:tryParseArray Int32.TryParse ',' "2,3,2,3,2"
现在我希望这个函数也可以在 C# 中使用,所以我这样做了:
static member TryParseArray (line, tryParse, separator) =
line |> tryParseArray tryParse separator
然后我意识到TryParseArray
实际上需要tryParse
参数 as FSharpFunc
,这对 C# 一点也不友好,所以我尝试了这个:
static member TryParseArray (line, [<Out>] tryParse: (string * byref<'a> -> bool), separator) =
line |> tryParseArray tryParse separator
但现在tryParseArray
不接受tryParse
作为有效参数(类型错误)
我应该怎么办?
我希望在 C# 中我也可以TryParseArray("2,3,2,3,2", Int32.TryParse, ',')
调用