我试图用位置参数在F#中创建一个属性,但一直失败。属性中的F#位置参数
type ColumnAttribute(?index:int,?name:string) =
inherit Attribute()
let mutable index = index
let mutable name = name
member x.Index
with get() = index
and set value = index <- value
member x.Name
with get() = name
and set value = name <- value
type Substance = {
[<Column(Index=1)>] Name : string
[<Column(Index=0)>] Id : int
[<Column(Name="sequence")>] Sequence : string
}
我试过几种不同的方法,但这是最接近我结束了。
这也不起作用。这个szenario真的在fsharp中工作吗?嗯。这真的很奇怪。我真正想要的是具有选项的属性。所以我想我必须创建一个可为空(或使用伪空值,例如对于索引-1和用于命名EmptyString)。我的意图是使用这两个属性作为选项索引或名称来识别csv文件中的列 – 2011-03-16 20:42:47
@Rainer,我不确定您的意思是“这不起作用”。我已经在Visual Studio 2010 RTM – JaredPar 2011-03-16 22:04:09
中成功编译过了。在一个干净的脚本中再次尝试。现在它工作!我认为它是我如何使用属性的问题。我真的好奇为什么这不起作用。我知道你对fsharp有很好的了解。猜猜这是与我如何使用该属性有关的错误。将再次检查我的代码库! – 2011-03-17 09:35:43