类型提供商的另一个转折点

时间:2012-02-29 18:12:04

标签: f# runtime compile-time type-providers

尝试扩展类型提供者的使用边界,我想我可以使用:

//Does not work
let exceldatatype = MyExcelTypeProvider.ExcelFile<filename="Brokernet.xls">
let file = new exceldatatype()
let f1(elem:exceldatatype .Row) = 
    elem.BID

这有效:

//Works
let file= MyExcelTypeProvider.ExcelFile<filename="Brokernet.xls">()
let f1(elem:MyExcelTypeProvider.ExcelFile<filename="Brokernet.xls">.Row) = 
    elem.BID

这也不起作用:

//Does not work
let typealias = MyExcelTypeProvider.ExcelFile<filename="Brokernet.xls">.Row

我想在运行时和编译时属性方面有一些深刻的教训,但我不确定是什么。

更新

根据有用的kvb的规定,以下工作:

type typealias = MyExcelTypeProvider.ExcelFile<filename="Brokernet.xls">
let file2 = new typealias()

1 个答案:

答案 0 :(得分:3)

在第一行中,请尝试type ... = ...而不是let ... = ...