CsvHelper设置默认的自定义TypeConverter [英] CsvHelper set default custom TypeConverter
本文介绍了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屋!
查看全文