A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/Miista/TinyCsvParser.ImmutableCollections below:

GitHub - Miista/TinyCsvParser.ImmutableCollections

TinyCsvParser.ImmutableCollections

Adding support for parsing collections in System.Immutable.Collections.

Supports .NET Core (.NET Standard 2+)

PM> Install-Package TinyCsvParser.ImmutableCollections

This extension adds support for the following types (in alphabetical order):

The only thing you need to keep in mind when using this extension is that your mapping class must have a constructor taking in an instance of ITypeConverterProvider and passing it on to its base constructor. See example below.

// Entity
private class Data
{
    public ImmutableList<int> Ints { get; set; }
}

// Mapping
private class CsvDataMapping : CsvMapping<Data>
{
    // Need to take in ITypeConverterProvider
    public CsvDataMapping(ITypeConverterProvider typeConverterProvider) : base(typeConverterProvider)
    {
        MapProperty(new RangeDefinition(0, 2), x => x.Ints);
    }
}

// Parsing
var options = new CsvParserOptions(skipHeader: false, fieldsSeparator: ',');
var typeConverterProvider = new TypeConverterProvider().AddImmutableCollections(); // <-- This line
var parser = new CsvParser<Data>(options, new CsvDataMapping(typeConverterProvider));
var readerOptions = new CsvReaderOptions(new[] { ";" });
var result = parser.ReadFromString(readerOptions, $"0,1,2").ToList();

Console.WriteLine(string.Join(',', result[0].Result.Ints)); // Prints 0,1,2

This project is licensed under the MIT license. See the LICENSE file for more info.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4