这个问题出现时,我试图找出一个更大的问题,为了简单起见,我省略了。我不得不在C#中表示一个特定的数据结构。它是一个将用于与外部系统进行通信的协议。因此,它具有预定义长度和整数(或其他更复杂的数据)的字符串序列。让我们假设:限制属性的字符串长度
SYSTEM : four chars
APPLICATION : eight chars
ID : four-byte integer
现在,我代表本实施方式将使用字符串,因此
class Message
{
string System {get; set; }; // four characters only!
string Application {get; set; }; // eight chars
int Id {get; set; };
}
问题是:我必须确保字符串不具有比预定长度更。此外,这个头部实际上只有十分之一的字段,这些字段会不时变化(我们仍在决定消息布局)。
描述这种结构的最佳方法是什么?例如,我想使用带有数据描述的XML并使用反射来创建一个遵守实现的类(因为我需要以编程方式访问它)。
而且,正如我所说的,还有更多的麻烦。我有其他类型的数据类型,限制字符/数字的数量...
+1这三段描述了我对这个问题的想法,所以我真的很害怕。 – 2010-03-04 21:22:19
Michael,很好的回答,主要是因为它坚持KISS。但是,我希望使用XML将允许非c#编程人员更改数据的描述。由于所付出的努力,我不喜欢改变班级的想法。但也许我只是懒惰。 +1为简单。 – 2010-03-04 21:33:29
@布鲁诺:我不太了解你的具体情况,知道是否有任何要点让他们这样做,但请记住,仅仅改变这个类的定义是不够的。无论如何,您将需要代码来处理这些新的和已更改的字段 - 这需要知道如何加载和存储此类中的内容。此外,由于您认为这是与外部系统进行通信的协议的抽象,那么该系统将如何知道如何处理这些更改? – 2010-03-04 21:46:04