簡體   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