Можно ли передать поставщик типа в функцию в качестве параметра

Я изучаю F # и библиотеку FSharp.Data .У меня есть задача, в которой мне нужно прочитать 20 файлов CSV.Каждый файл имеет разное количество столбцов, но записи имеют одинаковую природу: вводятся в виде строки даты, а все остальные столбцы являются числами с плавающей запятой.Мне нужно выполнить статистический расчет столбцов данных в формате с плавающей запятой, прежде чем сохранять результаты в базе данных.Хотя у меня вся логика сантехники заработала:прочитать в CSV через поставщик типа CSV FSharp.Data,используйте отражение, чтобы получить тип каждого поля столбца вместе с именами заголовков, которые они вводят в соответствие с шаблоном, которое определяет соответствующую логику расчетаsqlbulkcopy результат), я завершил 20 функций (по 1 на файл CSV).Решение далеко не приемлемое.Я подумал, что могу создать общую функцию верхнего уровня в качестве драйвера для циклического перебора всех файлов.Однако после нескольких дней попыток я ни к чему не пришел.Поставщик типа CSV FSharp.Data имеет следующий шаблон:Я пытался:Это не работает, поскольку CsvProvider жалуется, что файл типа не является допустимым постоянным выражением.Я предполагаю, что провайдеру типа должен быть нужен файл для определения типа столбцов во время кодирования, определение типа не может быть отложено до тех пор, пока не будет вызван код, в котором mainfunc будет вызван с соответствующей информацией.Затем я попытался передать Type в mainfunc в качестве параметрани одинниработал.Затем я попытался передать MSFT изВ файл mainFunc.Согласно интеллекту, MSFT имеет тип ---- +: = 5 =: + ----, а MSFT.Data имеет тип ---- +: = 6 =: + ---- .Я попытался объявить входной параметр с явным типом этих двух, но ни один из них не может пройти компиляцию.Может ли кто-нибудь помочь и указать мне правильное направление?Я что-то здесь не упустил?Любой тип .net и объект класса можно использовать в функции F # для явного указания типа параметра, но могу ли я сделать то же самое с типом от поставщика типа?Если ответ на вышеуказанный вопрос отрицательный, какова альтернатива сделать логику универсальной для обработки 20 файлов или даже 200 различных файлов?
7 голосов | спросил casbby 4 FebruaryEurope/MoscowbTue, 04 Feb 2014 15:54:50 +0400000000pmTue, 04 Feb 2014 15:54:50 +040014 2014, 15:54:50

0 ответов


Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132