当前位置:编程学习 > C#/ASP.NET >>

解析一个带继承关系的类

项目需要解析一个类A,这个类A已经打包成byte数组过来了。类的结构大概是这样
A:B
{
  字段1;
  字段2;
}

B
{
  字段3;
  字段4;
}

解析方法是
byte[] Abytes = _toBytes.ToByte(mqMsg.gpsBody);
A  mqGPS = (A)_fromBytes.fromByte(Abytes , 0, typeof(A));

如果我本地的A不继承B,那么解析可以成功,但是取不到B的内容。
如果我本地A继承B,解析会报错。

我用javaobject解析(因为这个包是java传过来的),发现里面的结构是
{
["字段1","1的值"],
["字段2","2的值"],
["*字段3","3的值"],
["*字段4","4的值"]
}

父类的字段里面多了一个星号。但是如果将B的字段命名成*字段3,这就成指针了肯定不行。



请问有什么办法可以解析成类?(不要用javaobject一个字段一个字段扣的方法)  类 继承 --------------------编程问答-------------------- 本地A不集成B,A里再增加两个字段3和4,行不行? --------------------编程问答--------------------
引用 1 楼 gxingmin 的回复:
本地A不集成B,A里再增加两个字段3和4,行不行?


不行啊,我试过了,差那个*号,导致名字不一样解析不出来。加了*就成指针了,郁闷啊。 --------------------编程问答-------------------- 不能把解析的串里的*号replace掉? --------------------编程问答--------------------
引用 3 楼 gxingmin 的回复:
不能把解析的串里的*号replace掉?


怎么replace啊?他过来是一个byte数组,我是用javaobject解析完了才看见有个*号的,问题是我现在就要绕过javaobject来解析,解析之前没法replace的吧? --------------------编程问答-------------------- 没人答我……还好我们老大给解决了,分给我自己好了,方法要点在下面。

格式依然是
A:B
{
  字段1;
  字段2;
}

但是A和B中可能为null的字段特别是int和byte要定义为可为空就是int?,byte?

解析的时候不要解析子类,解析父类B 就可以都取到了。
补充:.NET技术 ,  Web Services
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,