1

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

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);
    //...
}

关于这个有什么想法吗?

4

1 回答 1

0

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

于 2010-05-23T05:32:48.933 回答