F# 管道记录到对象参数列表

F# 管道记录到对象参数列表,f#,F#,鉴于我有以下类型: type NewsMessage(identifier:string, headline:string) 这个记录是: type NewsMessageParams = { identifier:string headline:string } 是否有一种隐式方法将记录调整到类构造函数中 大概是这样的: let newsMessageParmas = {identifier=""; headline=""} new NewsMessage(newsMe

鉴于我有以下类型:

type NewsMessage(identifier:string, headline:string)
这个记录是:

type NewsMessageParams = { 
    identifier:string
    headline:string 
}
是否有一种隐式方法将记录调整到类构造函数中

大概是这样的:

let newsMessageParmas = {identifier=""; headline=""}
new NewsMessage(newsMessageParams) //this is where i need help

可以使用
| |>
语法对元组执行此操作。我想用唱片来做这件事

像这样的方法会奏效:

let toClass {identifier = i; headline = h} = NewsMessage(i, h)

// Usage
let newsMessageParams = {identifier = ""; headline = ""}
let newsMessage = newsMessageParams |> toClass
请注意,对象构造函数在F#中不是一流的,因此如果将
NewsMessage
声明为有区别的联合,则使用管道操作符的可能性更大:

type NewsMessage = NewsMessage of string * string
let toTuple {identifier = i; headline = h} = i, h

let newsMessageParams = {identifier = ""; headline = ""}
let newsMessage = newsMessageParams |> toTuple |> NewsMessage