【问题标题】:Map element position in data file to class property将数据文件中的元素位置映射到类属性
【发布时间】:2014-10-13 13:57:04
【问题描述】:

我需要按照第三方规范提供的格式读取/写入文件。规范本身非常简单:它说明了将保存在文件中的数据的位置和大小。 例如:

Position        Size        Description
--------------------------------------------------
0001            10          Device serial number
0011            02          Hour
0013            02          Minute
0015            02          Second
0017            02          Day
0019            02          Month
0021            02          Year

列表很长,大约有 400 个元素。但是它们中的许多可以组合在一起。例如,小时、分钟、秒、日、月和年可以组合在一个 DateTime 对象中。 我将元素分为大约 4 个类别,并创建了单独的类来保存数据。所以,我有一些较小的类,而不是代表数据的大结构。我还创建了不同的类来读取和写入数据。

问题是:如何将文件中的位置映射到对象属性,这样我就不需要重复读/写类中的值了?我可以使用一些自定义属性并通过反射检索它们。但由于代码将在内存和处理器较小的设备上运行,因此最好找到另一种方式。 我当前读取的代码如下所示:

public void Read() {
    DataFile dataFile = new DataFile();
    // the arguments are: position, size
    dataFile.SerialNumber = ReadLong(1, 10);
    //...
}

对此有什么想法吗?

【问题讨论】:

    标签: c# mapping text-files binaryfiles


    【解决方案1】:

    自定义属性将是我的建议,但我看到您已经考虑过了。除此之外,我唯一的其他建议是将映射存储在一个 XML 文件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-16
      • 1970-01-01
      • 2021-03-08
      • 1970-01-01
      • 2020-09-14
      • 2014-02-16
      • 2017-12-17
      • 1970-01-01
      相关资源
      最近更新 更多