繁体   English   中英

F#Data CsvProvider使用C#应用程序Interop

[英]F# Data CsvProvider use from a C# application Interop

未来的极端noob学习问题:我有一个模块,我想在我的C#(通用)应用程序中使用。 C#应用程序将下载并解压缩包含12个CSV的文件,这些文件将始终采用相同的格式。 所以我所做的是提前下载CSV,并将它们添加到我的解决方案中,以便CsvProvider <“thefile.csv”>中引用的文件将在编译时存在。

namespace ExperimentalFSLibrary    
module CsvHelper =
    open FSharp.Data
    let GetCsvA path = 
        CsvProvider<"thefileA.csv">.Load(path)

然后从我的c#应用程序中调用它,如下所示:

var ReceivedCsvA = ExperimentalFSLibrary.CsvHelper.GetCsvA

我没有成功从F#库获取数据

还有如何处理十二个不同文件的问题,因为我必须为CsvProvider指定模板文件,我想我必须编写12个不同的函数?

我在SO周围搜索并找到了让我走到这一步的东西,但我已经撞墙了。 任何帮助,包括健全检查将非常感激。

CsvProvider中的FSharp.Data是一个擦除类型提供程序。 这意味着在C#中没有可以使用和使用的类型。

许多F#类型的提供程序(例如此类)仅在从F#中使用时才有用。

在这种情况下,您最有可能最好解析CSV数据并通过C#代码中的某些API耗材返回所需的结果。

还有如何处理十二个不同文件的问题,因为我必须为CsvProvider指定模板文件,我想我必须编写12个不同的函数?

通常,每个文件结构需要一个单独的函数,而不是每个文件。 如果12个文件都使用相同的列/标题/等,则单个类型提供程序类型将在每个文件中使用。 提供的静态文件名仅用于确定生成的类型的列结构。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM