如何忽略属于 parent class 中的成员的 属性?
How to ignore a property that is a member in the parent class?
我有一个 class,在一个虚拟 属性 上有一个 [ProtoMember]
。
在一个childclass中,这个属性只是returns一个常量字符串,并且在被设置的时候抛出异常。我在上面添加了 [ProtoIgnore]
,但 ProtoBuf 仍然尝试序列化它。
有没有办法避免这种情况?
注意:由于 protobuf(undo-redo 的框架)的外部原因,我无法在 parent class.[=15 的 属性 中使用背景场=]
你可以添加到基础-class:
public virtual bool ShouldSerializeFoo() => true;
(对于你的 属性 名称 Foo
),然后在你不想序列化它的子 class 中:
public override bool ShouldSerializeFoo() => false;
我有一个 class,在一个虚拟 属性 上有一个 [ProtoMember]
。
在一个childclass中,这个属性只是returns一个常量字符串,并且在被设置的时候抛出异常。我在上面添加了 [ProtoIgnore]
,但 ProtoBuf 仍然尝试序列化它。
有没有办法避免这种情况?
注意:由于 protobuf(undo-redo 的框架)的外部原因,我无法在 parent class.[=15 的 属性 中使用背景场=]
你可以添加到基础-class:
public virtual bool ShouldSerializeFoo() => true;
(对于你的 属性 名称 Foo
),然后在你不想序列化它的子 class 中:
public override bool ShouldSerializeFoo() => false;