我有一个继承 PictureBox 控件的自定义类,当我反序列化该对象时,我丢失了所有基本属性,例如“名称”。这是类(class)。
[ProtoContract]
[ProtoInclude(100,typeof(PictureBox))]
class Card : PictureBox
{
[ProtoMember(1)]
public string CardId { get; set; }
[ProtoMember(2)]
public string CardName { get; set; }
[ProtoMember(3)]
public string CardColor { get; set; }
[ProtoMember(4)]
public string CardType { get; set; }
[ProtoMember(5)]
public string CardRarity { get; set; }
[ProtoMember(6)]
public bool Tapped { get; set; }
[ProtoMember(7)]
public bool Revealed { get; set; }
}
最佳答案
如果您不能修改基类,一种可能性(未经测试)是显示您需要什么:
[ProtoMember(8)]
public new string Name
{
get { return base.Name; }
set { base.Name = value; }
}
在制作自己的控件(例如,我自己的 Label
),它似乎有效。
关于c# - 如何使用 Protobuf.net C# 序列化自定义对象的基本属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22298638/