【发布时间】:2013-04-29 01:46:46
【问题描述】:
我对继承自 IList<string> 的 Family 类使用以下数据结构:
public class Family : IList<string>
{
public string LastName { get; set; }
//IList<string> members
. .
.
//IList<string> members
}
我创建了自己的RuntimeTypeModel 并像这里一样添加Family 类型:
RuntimeTypeModel myModel = RuntimeTypeModel.Create();
MetaType familyMetaType = myModel.Add(typeof(Family), true);
familyMetaType.AddField(1, "LastName");
familyMetaType.AddField(2, "Item").IsPacked = true; ;
familyMetaType.CompileInPlace();
myModel.Compile();
然后我创建一个Family 对象并对其进行序列化:
Family family = new Family();
family.LastName = "Sawan";
family.Add("Amer");
using (FileStream fs = new FileStream("Dump.proto", FileMode.Create))
myModel.Serialize(fs, family);
但是当我反序列化它时,我只得到 string 集合的成员,而不是 LastName 值。
我应该为我的RuntimeTypeModel 设置什么配置,以使其序列化其他对象,如本例中的LastName。
【问题讨论】:
标签: serialization protobuf-net