虽然我感谢 Marc Gravell 和 Jon Skeet 的输入,但我的问题是如何解析包含使用 FileHelpers 库描述的格式的行的文件(尽管我一开始措辞很糟糕,实际上是在描述 'CSV' ,它不是)。
我现在找到了一种方法来做到这一点。这不是特别优雅的方法,但是,它可以完成工作。在理想的世界中,我不会在这个特定的实现中使用 FileHelpers ;)
对于那些感兴趣的人,解决方案是创建一个 FileRecord 类,如下所示:
[DelimitedRecord(" ")]
public sealed class HTTPRecord
{
public String IP;
// Fields with prefix 'x' are useless to me... we omit those in processing later
public String x1;
[FieldDelimiter("[")]
public String x2;
[FieldDelimiter("]")]
public String Timestamp;
[FieldDelimiter("\"")]
public String x3;
public String Method;
public String URL;
[FieldDelimiter("\"")]
public String Type;
[FieldIgnored()]
public String x4;
[FieldDelimiter(" ")]
public String x5;
public int HTTPStatusCode;
public long Bytes;
[FieldQuoted()]
public String Referer;
[FieldQuoted()]
public String UserAgent;
}