最近,我将CsvHelper从v2更新为v15,但以下代码不再起作用:
public class DateConverter : DefaultTypeConverter
{
public override string ConvertToString(TypeConverterOptions options, object value)
{
return ((DateTime)value).ToString("dd'/'MM'/'yyyy");
}
}错误是:no suitable method found to override,但来自程序集的DefaultTypeConverter是:
public class DefaultTypeConverter : ITypeConverter
{
public DefaultTypeConverter();
//
// Summary:
// Converts the string to an object.
//
// Parameters:
// text:
// The string to convert to an object.
//
// row:
// The CsvHelper.IReaderRow for the current record.
//
// memberMapData:
// The CsvHelper.Configuration.MemberMapData for the member being created.
//
// Returns:
// The object created from the string.
public virtual object ConvertFromString(string text, IReaderRow row, MemberMapData memberMapData);
//
// Summary:
// Converts the object to a string.
//
// Parameters:
// value:
// The object to convert to a string.
//
// row:
// The CsvHelper.IWriterRow for the current record.
//
// memberMapData:
// The CsvHelper.Configuration.MemberMapData for the member being written.
//
// Returns:
// The string representation of the object.
public virtual string ConvertToString(object value, IWriterRow row, MemberMapData memberMapData);
}我该如何克服这个问题呢?
发布于 2020-03-20 02:42:54
重写的签名与要扩展的类中方法的签名不匹配。这在不同版本的csvhelper中有所不同
您需要用以下代码替换当前的实现:
public override string ConvertToString(object value, IWriterRow row, MemberMapData memberMapData)
{
return ((DateTime)value).ToString("dd'/'MM'/'yyyy");
}有关更多更改,请查看CsV Helper on GitHub
https://stackoverflow.com/questions/60762332
复制相似问题