本文介绍了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
发布评论