CsvHelper文档-6类型转换

CsvHelper文档-6类型转换

CsvHelper使用类型转换器来转换string到对象,或者对象到string;

ITypeConverter

类型转换器的结构,必须实现;

public interface ITypeConverter
{
    string ConvertToString( object value, IWriterRow row, MemberMapData memberMapData );

    string ConvertFromString( string text, IReaderRow row, MemberMapData memberMapData );
}

ConvertToString

转换一个对象到string
参数

  • value:被转换的对象可以是值类型也可以是引用类型。
  • row: 允许转换器写入的IWriterRow接口可以访问configuration和上下文。
  • memberMapData: 设置的映射数据,映射被转换的成员

ConvertFromString

把string转换为对象
参数

  • text: 要转换的字符串
  • row: 允许转换器写入的IWriterRow接口可以访问configuration和上下文。
  • memberMapData: 设置的映射数据,映射被转换的成员

DefaultTypeConverter

默认的转换器可以作为其他转换器的基类;
ConvertToString 将会使用任何设定好的格式化设置来在一个对象上调用ToString.

ConvertFromString 将会抛出一个 TypeConverterException. 实现DefaultTypeConverter的类需要覆盖这个方法,提供一个自己类型的实现.

TypeConverterOptions

TypeConverterCache

TypeConverterOptionsCache

Type Converters

这里有一些可用的转换器。大部分模仿的是 .NET类型转换器的做法,除了需要考虑configuration和映射设定之外。
ArrayConverter
BooleanConverter
ByteArrayConverter
ByteArrayConverterOptions
ByteConverter
CharConverter
CollectionGenericConverter
DateTimeConverter
DateTimeOffsetConverter
DecimalConverter
DoubleConverter
EnumConverter
EnumerableConverter
GuidConverter
IDictionaryConverter
IDictionaryGenericConverter
IEnumerableConverter
IEnumerableGenericConverter
Int16Converter
Int32Converter
Int62Converter
NullableConverter
SByteConverter
SingleConverter
StringConverter
TimeSpanConverter
UInt16Converter
UInt32Converter
UInt64Converter

ArrayConverter

转换多个字段到数据兑现成员或者反过来。

// Data
A,B,C,C,C

BooleanConverter
ByteArrayConverter
ByteArrayConverterOptions
ByteConverter
CharConverter
CollectionGenericConverter
DateTimeConverter
DateTimeOffsetConverter
DecimalConverter
DoubleConverter
EnumConverter
EnumerableConverter
GuidConverter
IDictionaryConverter
IDictionaryGenericConverter
IEnumerableConverter
IEnumerableGenericConverter
Int16Converter
Int32Converter
Int62Converter
NullableConverter
SByteConverter
SingleConverter
StringConverter
TimeSpanConverter
UInt16Converter
UInt32Converter
UInt64Converter

posted @ 2018-01-08 13:52  xsz1234  阅读(572)  评论(0编辑  收藏  举报