是否可以序列化包含不可序列化成员的类?
例子: 我有一个类指令,它有两个成员:
public class Instruction
{
public OpCode Op { get; set; }
public object Operand { get; set; }
}
问题是,成员 Op 的类型在第 3 方库中,我无法使其序列化。我尝试了 BinaryFormatter 和 ProtoBuf,但都没有标记 Op 成员就失败了。
任何人都知道序列化我的对象的解决方案吗?
最佳答案
显然,如果一个类的一部分不可序列化,则您不能序列化该部分,但您可以忽略它(并在反序列化时提供一些默认值,可能是 null
值)。
如果你正在使用 ProtoBuf
,你可以使用 [ProtoIgnore]
属性来标记 Op
属性,或者 [NonSerialized ]
BinaryFormatter
的属性。
关于c# - 序列化包含不可序列化成员的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30143783/