未来极端的菜鸟学习问题: 我有一个模块,我想在我的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#库中获取数据没有任何成功
还有如何处理12个不同文件的问题,因为我必须为CsvProvider指定模板文件,我想我必须编写12个不同的函数?
我在SO周围搜索并找到了让我走到这一步的东西,但是我已经碰壁了。任何帮助,包括健全检查都将非常感激。
答案 0 :(得分:4)
CsvProvider
中的FSharp.Data
是一种删除类型提供程序。这意味着在C#中没有可以使用和使用的类型。
许多F#类型的提供程序(例如此类)仅在F#中使用时才有用。
在这种情况下,您最有可能最好解析CSV数据并通过C#代码中的某些API耗材返回所需的结果。
还有如何处理12个不同文件的问题,因为我必须为CsvProvider指定模板文件,我想我必须编写12个不同的函数?
通常,每个文件结构需要一个单独的函数,而不是每个文件。如果12个文件都使用相同的列/标题/等,则单个类型提供程序类型将在每个文件中使用。提供的静态文件名仅用于确定生成类型的列结构。