protobuf.net e serialização condicional

Estamos usando protobuf.net para serializar classes entre dispositivos móveis e serviços de back-end, mas agora precisamos ajustar o que é enviado de volta ao cliente com base no "contexto" do usuário.

Normalmente, fazemos isso implementando a interface ISerializable e observamos o valor de contexto para decidir o que serializar. Da mesma forma, no construtor, desserializamos os valores fornecidos.

Mas parece que ISerializable não é implementado / suporte (eu posso ver o porquê) para protobuf.net, então nós contornamos isso tomando as abordagens 'ShouldSerialize *' e 'OnSerializing'. No entanto, isso significa que acabamos tendo que armazenar o StreamingContext em cada classe, o que não parece certo. Poderíamos potencialmente colocá-lo em um global, mas isso também não parece certo.

Existe uma maneira melhor de alcançar o que queremos, por ex. serialização usando apenas o formato protobuf.net, mas com o que é serializado sendo influenciado por um contexto fornecido externamente?

questionAnswers(1)

yourAnswerToTheQuestion