- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想知道如何在 filehelpers 中执行多个日期?似乎您必须指定要支持的每一种格式(有点糟糕......希望它可以处理更多基本格式)。
[FieldOrder(1), FieldConverter(ConverterKind.DateMultiFormat, "MM/dd/yyyy", "MM/d/yyyy", "M/d/yyyy","M/dd/yyyy")]
虽然这给了我
Error 35 Argument 1: cannot convert from 'FileHelpers.ConverterKind' to 'System.Type'
看来我必须进行一些自定义转换或其他操作?这是正确的吗?
编辑
我使用的版本是 2.9.9.0
选项
// Summary:
// Indicates the FileHelpers.ConverterKind used for read/write operations.
//
// Remarks:
// See the Complete attributes list for more information and examples of each
// one.
[AttributeUsage(AttributeTargets.Field)]
public sealed class FieldConverterAttribute : Attribute
{
// Summary:
// Indicates the FileHelpers.ConverterKind used for read/write operations.
//
// Parameters:
// converter:
// The FileHelpers.ConverterKind used for the transformations.
public FieldConverterAttribute(ConverterKind converter);
//
// Summary:
// Indicates a custom FileHelpers.ConverterBase implementation.
//
// Parameters:
// customConverter:
// The Type of your custom converter.
public FieldConverterAttribute(Type customConverter);
//
// Summary:
// Indicates the FileHelpers.ConverterKind used for read/write operations.
//
// Parameters:
// converter:
// The FileHelpers.ConverterKind used for the transformations.
//
// arg1:
// The first param passed directly to the Converter Constructor.
public FieldConverterAttribute(ConverterKind converter, string arg1);
//
// Summary:
// Indicates a custom FileHelpers.ConverterBase implementation.
//
// Parameters:
// customConverter:
// The Type of your custom converter.
//
// args:
// A list of params passed directly to your converter constructor.
public FieldConverterAttribute(Type customConverter, params object[] args);
//
// Summary:
// Indicates a custom FileHelpers.ConverterBase implementation.
//
// Parameters:
// customConverter:
// The Type of your custom converter.
//
// arg1:
// The first param passed directly to the Converter Constructor.
public FieldConverterAttribute(Type customConverter, string arg1);
//
// Summary:
// Indicates the FileHelpers.ConverterKind used for read/write operations.
//
// Parameters:
// converter:
// The FileHelpers.ConverterKind used for the transformations.
//
// arg1:
// The first param passed directly to the Converter Constructor.
//
// arg2:
// The second param passed directly to the Converter Constructor.
public FieldConverterAttribute(ConverterKind converter, string arg1, string arg2);
//
// Summary:
// Indicates a custom FileHelpers.ConverterBase implementation.
//
// Parameters:
// customConverter:
// The Type of your custom converter.
//
// arg1:
// The first param passed directly to the Converter Constructor.
//
// arg2:
// The second param passed directly to the Converter Constructor.
public FieldConverterAttribute(Type customConverter, string arg1, string arg2);
//
// Summary:
// Indicates the FileHelpers.ConverterKind used for read/write operations.
//
// Parameters:
// converter:
// The FileHelpers.ConverterKind used for the transformations.
//
// arg1:
// The first param passed directly to the Converter Constructor.
//
// arg2:
// The second param passed directly to the Converter Constructor.
//
// arg3:
// The third param passed directly to the Converter Constructor.
public FieldConverterAttribute(ConverterKind converter, string arg1, string arg2, string arg3);
//
// Summary:
// Indicates a custom FileHelpers.ConverterBase implementation.
//
// Parameters:
// customConverter:
// The Type of your custom converter.
//
// arg1:
// The first param passed directly to the Converter Constructor.
//
// arg2:
// The second param passed directly to the Converter Constructor.
//
// arg3:
// The third param passed directly to the Converter Constructor.
public FieldConverterAttribute(Type customConverter, string arg1, string arg2, string arg3);
}
最佳答案
没有带参数的重载 FieldConverterAttribute(ConverterKind, params string[])
。
有一个FieldConverterAttribute(ConverterKind, string, string, string)
这样您最多可以提供 3 种格式。
如果您需要更多,那么您可以创建自己的转换器:
public class CustomDateTimeConverter : ConverterBase
{
public CustomDateTimeConverter(string format1, string format2, string format3, string format4)
{
_FormatStrings = new string[] { format1, format2, format3, format4} ;
}
private string[] _FormatStrings;
public override object StringToField(string from)
{
foreach (string formatString in _FormatStrings)
{
DateTime dt;
if (DateTime.TryParseExact(from, formatString, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
return dt;
}
throw new ConvertException(from, typeof(DateTime));
}
}
然后你的字段看起来像
[FieldConverter(typeof(CustomDateTimeConverter), "MM/dd/yyyy", "MM/d/yyyy", "M/d/yyyy", "M/dd/yyyy")]
public DateTime Field1;
关于c# - FileHelpers 中的多个日期如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9133011/
我正在使用 Filehelpers 读取一个简单的 CSV 文件 - 该文件只是一个键值对。 (字符串, int64) 我为此编写的 f# 类型是: type MapVal (key:string,
这是我确定非常容易的事情之一,但我似乎无法解决! 使用 FileHelpers,如何确保导出中的每个字段都包含双引号?我猜有一个属性我可以放在每个字段上,我想在它周围加上双引号,但我看不到它在哪里。
这是我要读取的数据: "Adam C. Emality","1Z620Y1V034826","14.40" "Ethel Baeron","1Z620Y1V034604","15.19" "Donna
我一直在查看 filehelpers 文档,但似乎没有任何内容可以处理列中的空值。我需要能够在所有列上设置“非空”字符串属性。 谁能指出我正确的方向? 最佳答案 您可以在 AfterReadRecor
我有一个 csv 文件,我正在使用 FileHelpers 进行解析,并且我遇到了引号和逗号都可以出现在字段中的情况: 逗号: 323,"PC","28/02/2014","UNI001","5000
我最近的项目要求我读取 csv 文件。人们将我引向 filehelpers,因为“你不应该重新发明轮子”。但是,文档真的很烂,我似乎找不到处理可选引号的方法。这是我的 csv: 2734000585,
我想知道当它从一个文件中读取一个流时,你能告诉它只取 x 行吗?假设你想要文件中的 100 行,你可以告诉它只取前 100 行(忽略第一行,因为它是标题)。即使文件有 200 行? 最佳答案 您可以使
我有一个从网络服务中使用的类,我正尝试使用 FileHelpers 库将其导出到 csv。但是该类有一个 PropertyChangedEventHandler 引擎正在将其读取为一个字段,所以我得到
我用的是强大的FileHelpers Library .但是是否有内置的方法来搜索生成的对象。 var engine = new FileHelperEngine(); var res = engin
下面的代码用于在 ASP .NET MVC2 中使用 FileHelpers 读取固定宽度的上传文件内容文本文件 第一行和最后一行的长度较小,ReadStream 因此导致异常。所有其他行都有适当的固
在这里,我必须使用 FileHelpers 和 C# 写出一个文件,其中的记录是管道分隔的。大部分字段具有可变长度(因此,我的记录将是 [DelimitedRecord("|")] )。但是有些字段必
我正在使用 FileHelpers 库的 2.0 版,该库被记录为能够处理 .NET 2.0 可空类型。 我正在使用文档示例中给出的代码: [DelimitedRecord("|")] publi
我正在使用 FileHelper 2.0 来解析我的 csv 数据。是否有 filehelper 可以正确处理转义分隔符的选项?它可以将字段识别为数据而不是分隔符。 我们的 csv 格式:用\, 转义
我想知道如何在 filehelpers 中执行多个日期?似乎您必须指定要支持的每一种格式(有点糟糕......希望它可以处理更多基本格式)。 [FieldOrder(1), FieldConve
我有一个从另一个系统导出的 CSV 文件,其中的列顺序和定义可能会更改。我发现 FileHelpers 非常适合读取 csv 文件,但除非您在编译应用程序之前知道列的顺序,否则您似乎无法使用它。我想知
使用 FileHelper .Net 库,我可以以某种方式跳过源文件中的一些列吗? 根据文档和示例,我必须为所有列添加字段。唉,我有一个包含 216 列的 Excel 表要导入,其中只需 13 列。
我正在使用 FileHelpers 读取一个大文件图书馆。我想在阅读下面的记录之前更改 RecordLine。 static void engine_BeforeReadRecord(objec
假设我有一个像这样的 Filehelpers 类: [DelimitedRecord(",")] public class SomeRecord { public string Field1;
我正在使用优秀的 FileHelpers 库导入许多 csv 文件,但遇到了问题。我有一个包含这三个示例行的 csv 文件 id,text,number 120,"good line this one
我正在使用 FileHelpers创建固定长度的文件。在我的模型中,我有一个 double 需要以 0000.00 格式输出。无论如何我可以用 FileHelpers 本身指定它,还是我需要将我的模型
我是一名优秀的程序员,十分优秀!