【发布时间】:2012-03-26 14:30:59
【问题描述】:
我看过的所有地方都是如何将 csv 文件读入 FileHelpers,然后写出相同的数据。我正在尝试构建一个 Record 类,基于来自应用程序其他区域的输入,我将设置每条记录的值,然后将行输出到 csv。
所以我想要一些这样的:
[DelimitedRecord(",")]
public class Records
{
[FieldNullValue(typeof(String), "")]
public static string data1;
[FieldNullValue(typeof(String), "")]
public static string data2;
[FieldNullValue(typeof(String), "")]
public static string data3;
}
然后在另一个班级我会设置这些记录:
public class Class
{
public static void Method()
{
Records.data1 = "Something";
Records.data2 = "Something";
Records.data3 = "Something";
}
}
从这一点开始,我对如何将这些记录写入 csv 文件或稍后可以写入 csv 文件的列表感到困惑。当我尝试创建引擎时
DelimitedFileEngine e = new DelimitedFileEngine(typeof(Records));
我收到一条错误消息,提示“记录类 Records 不包含任何字段”。有人知道我错过了什么吗?我在文档中找不到解释如何执行此操作的任何地方。
【问题讨论】:
-
尝试不使用静态字段
-
你试过让你的属性不是静态的吗?
-
执行此操作时出现“非静态字段需要对象引用”错误。
-
@Ron:您需要创建 Records 类的实例,然后在该实例上设置属性。
-
仍然没有得到它..我从属性中删除了静态并删除了“Records.data1 = “Something”,以便现在 DelimitedFileEngine 可以工作,因此它可以读取记录类。我创建了一个实例类的像:Records[] rec = new Records[]; (这可能是错误的)但我现在不知道如何设置记录中变量的值。
标签: c# .net csv filehelpers