F# WebSharper接口生成器-记录
我如何定义一个将被序列化为JSON对象的记录。。。我一直在尝试为YUI2构造函数构建oConfig参数,类似于:F# WebSharper接口生成器-记录,f#,websharper,F#,Websharper,我如何定义一个将被序列化为JSON对象的记录。。。我一直在尝试为YUI2构造函数构建oConfig参数,类似于: type TreeParameter = { Type : string Label : string Expanded : bool Children : TreeParameter array } 谢谢 David我想我们可以实现它,但它还没有进入接口生成器。目前,您可以执行以下操作: let Tr
type TreeParameter =
{
Type : string
Label : string
Expanded : bool
Children : TreeParameter array
}
谢谢
David我想我们可以实现它,但它还没有进入接口生成器。目前,您可以执行以下操作:
let TreeParameter =
let self = Type.New()
Pattern.Config "TreeParameter" {
Required =
[
"Type", T<string>
"Label", T<string>
"Expanded", T<bool>
"Children", Type.ArrayOf self
]
Optional = []
}
|=> self
从JavaScript的角度来看,这些值如下所示:
type TreeParameter(t: string, l: string, e: bool, c: TreeParameter[]) =
member this.Type = t
member this.Label = l
member this.Expanded = e
member this.Children = c
{Type:t,Label:l,Expanded:e,Children:c}
本质上,它就像一个没有记录语法和功能扩展的记录。WebSharper现在已经实现了这个功能。只需使用
TSelf
例如:
let TreeParameter =
Pattern.Config "TreeParameter" {
Required =
[
"Type", T<string>
"Label", T<string>
"Expanded", T<bool>
"Children", Type.ArrayOf TSelf
]
Optional = []
}
let树参数=
Pattern.Config“树参数”{
必需的=
[
“类型”,T
“标签”,T
“扩展”,T
“儿童”,t自我排列类型
]
可选=[]
}
我不知道自动序列化为JSON的方法,但您可以重写ToString()方法,例如,这实际上是关于WebSharper接口生成器的,我假设它会有特殊的操作符来定义这样的类型。我没有看到一个在Bing地图扩展中生成记录的例子:我开始认为这是不可能的。