Как игнорировать свойство, являющееся членом родительского класса? - PullRequest
0 голосов
/ 28 августа 2018

У меня есть класс, который имеет [ProtoMember] на одно виртуальное свойство. В дочернем классе это свойство возвращает только строку констант и выдает исключение при установке. Я добавил [ProtoIgnore], но ProtoBuf все еще пытается сериализовать его.

Есть ли способ избежать этого?

Примечание: по причинам, не зависящим от protobuf (рамки отмены-повтора), я не могу использовать поле поддержки в свойстве моего родительского класса.

1 Ответ

0 голосов
/ 28 августа 2018

Вы можете добавить к базовому классу:

public virtual bool ShouldSerializeFoo() => true;

(для имени вашего свойства Foo), затем в подклассе, где вы не хотите его сериализовать:

public override bool ShouldSerializeFoo() => false;
...