这可能是在左边的领域,疯狂,但我只需要问我继续实现这一大量的类. 基本上,我正在编写一个二进制消息解析器,它将某种军事消息格式解码为一个对象.问题在于,实际上有数百种不同的
基本上,我正在编写一个二进制消息解析器,它将某种军事消息格式解码为一个对象.问题在于,实际上有数百种不同的消息类型,它们几乎没有任何共同点.所以我计划实现这个的方法是创建数百个不同的对象.
但是,即使消息属性没有共同之处,解码它们的方法也相当简单,并遵循一种模式.所以我打算编写一个代码生成器来为每种消息类型生成所有对象和解码逻辑.
如果有某种方法可以根据某些模式动态创建对象,那真正令人满意的是什么.它不一定是XML,但XML很容易使用.
这可能在C#中吗?
我希望界面看起来像这样:
var decodedMessage = MessageDecoder.Decode(byteArray);
MessageDecoder在哪里找出它是什么类型的消息然后返回适当的对象.它可能会返回一个实现MessageType属性的接口或类似的东西.
基本上我想知道的是,是否有一种方法可以有一个名为Message的对象,它实现了一个MessageType属性.然后,根据MessageType,Message对象转换为它的任何类型的消息,因此我不必花时间创建所有这些消息类型.
ExpandOobject您可以在哪里动态地向对象添加字段.A good starting point is here.