Lambda 从F将ExcelDataReader上的UseHeaderRow设置为数据集ExcelDataSetConfiguration#

Lambda 从F将ExcelDataReader上的UseHeaderRow设置为数据集ExcelDataSetConfiguration#,lambda,f#,c#-to-f#,exceldatareader,Lambda,F#,C# To F#,Exceldatareader,在F#项目中使用ExcelDataReader。 要将第一行用作列名(标题),需要使用以下C代码调整配置: 如中所述 如果我尝试将其转换为F#代码: 我得到以下错误: error FS0001: This expression was expected to have type 'Func<IExcelDataReader,ExcelDataTableConfiguration>' but here has type 'ExcelDataTableConfiguration' 错误

在F#项目中使用ExcelDataReader。 要将第一行用作列名(标题),需要使用以下C代码调整配置:

如中所述

如果我尝试将其转换为F#代码:

我得到以下错误:

error FS0001: This expression was expected to have
type 'Func<IExcelDataReader,ExcelDataTableConfiguration>' but here has
type 'ExcelDataTableConfiguration'
错误FS0001:此表达式应具有
键入“Func”,但此处有
键入“ExcelDataTableConfiguration”
如果我理解得很好,我必须传递一个Linq表达式,所以我看了一些示例:

不幸的是,我没有设法解决这个问题。
任何指点都将不胜感激

好的,比我想象的要简单:

let result = reader.AsDataSet(
  new ExcelDataSetConfiguration( 
    ConfigureDataTable = 
      fun (_:IExcelDataReader) -> ExcelDataTableConfiguration( UseHeaderRow = true)
    )
  )
@费奥多·索金,谢谢你的支持


希望这能帮助其他人解决同样的问题。

属性
ConfigureDataTable
属于
Func
类型,但您试图为其分配一个
ExcelDataTableConfiguration
。您是对的,我对F#lambda函数有点混乱,但您向我指出了答案:
let result=reader.AsDataSet(新的ExcelDataSetConfiguration(ConfigureDataTable=fun(uquo:IExcelDataReader)->ExcelDataTableConfiguration(UseHeaderRow=true))
非常感谢!
error FS0001: This expression was expected to have
type 'Func<IExcelDataReader,ExcelDataTableConfiguration>' but here has
type 'ExcelDataTableConfiguration'
let result = reader.AsDataSet(
  new ExcelDataSetConfiguration( 
    ConfigureDataTable = 
      fun (_:IExcelDataReader) -> ExcelDataTableConfiguration( UseHeaderRow = true)
    )
  )