CsvHelper设置默认的自定义TypeConverter [英] CsvHelper set default custom TypeConverter

查看:40
本文介绍了CsvHelper设置默认的自定义TypeConverter的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用CsvHelper时,当我想要一个自定义解析器时(例如,我希望输入字符串为"f"的 MyBooleanConverter 为假,"t"为假)是真实的").但是对于每个类,我都必须编写映射器:

With CsvHelper, when I want a custom parser (for example, I want a MyBooleanConverter with the input string is "f" will be false, "t" will be "true"). But with every class I have to write mapper:

public sealed class MyClassMap : CsvClassMap<MyClass>
{
    public MyClassMap()
    {
        Map( m => m.Id ).Index( 0 ).TypeConverter<MyBooleanConverter>();
    }
}

[CsvHelper.TypeConversion.TypeConverter( typeof( MyBooleanConverter) )]
public Boolean MyObjectProperty { get; set; }

如何为每个布尔字段和每个类将 MyBooleanConverter 设置为默认值?

How can I set MyBooleanConverter as default for every boolean field and every Class?

推荐答案

CsvHelper库公开了静态的 TypeConverterFactory .您只需删除默认的布尔转换器并添加自定义转换器即可替换它.

The CsvHelper library exposes a static TypeConverterFactory. You can simply remove the default Boolean converter and add your custom converter to replace it.

TypeConverterFactory.RemoveConverter<bool>();
TypeConverterFactory.AddConverter<bool>(new MyBooleanConverter());

这篇关于CsvHelper设置默认的自定义TypeConverter的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆