Types Csv类型提供程序中的行的类型是什么?

Types Csv类型提供程序中的行的类型是什么?,types,f#,type-providers,Types,F#,Type Providers,我创建了一个Csv类型的提供程序: type AssetInfo = CsvProvider<Sample="AssetInfoFS.csv", // must be a Literal HasHeaders=true, ResolutionFolder=projDataPath, AssumeMissingValue

我创建了一个Csv类型的提供程序:

type AssetInfo = CsvProvider<Sample="AssetInfoFS.csv", // must be a Literal
                             HasHeaders=true,
                             ResolutionFolder=projDataPath,
                             AssumeMissingValues=false,
                             CacheRows=false>
接下来,我尝试创建一个记录类型,其中一个值是一行:

type Asset = {Ticker: string; Info: CsvProvider<...>.Row; DataFrame: Frame<DateTime,string>}
type Asset={Ticker:string;Info:CsvProvider.Row;DataFrame:Frame}
我通过使用
MoveNext()
Current
以及
GetType()
IEnumerator
上为
assetInfo.Rows
获取了
CsvProvider.Row
。不幸的是,编译器不接受该表达式作为类型。我尝试了其他事情,但没有成功


如何找到
assetInfo
行的类型,以便在资产类型声明中使用它?

在您的情况下,该行的类型将为
assetInfo.row

我做了一个简单的例子,其中我有一个CSV,有两列,分别命名为Header1和Header2。我现在可以做以下工作:

module Test

open FSharp.Data

type File = CsvProvider<"""..\test.csv""">

let f (input : File.Row) = input.Header1
模块测试
打开FSharp.Data
类型File=CsvProvider
设f(输入:File.Row)=input.Header1
其中,通过将参数的类型显式命名为
f
,Intellisense向我显示类型上的两个字段

module Test

open FSharp.Data

type File = CsvProvider<"""..\test.csv""">

let f (input : File.Row) = input.Header1