Еще один поворот на тип провайдеров - PullRequest
0 голосов
/ 29 февраля 2012

Пытаясь расширить границы использования провайдера типов, я решил, что могу использовать:

//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 Ответ

3 голосов
/ 29 февраля 2012

В первой строке попробуйте type ... = ... вместо let ... = ....

...