protobuf.netを使用して、モバイルデバイスとバックエンドサービス間でクラスをシリアル化しますが、ユーザーの「コンテキスト」に基づいて、クライアントに返送される内容を調整する必要があります。
通常、これを行うには、ISerializableインターフェイスを実装し、コンテキスト値を調べて、何をシリアル化するかを決定します。同様に、コンストラクターでは、提供された値を逆シリアル化します。
しかし、ISerializableはprotobuf.netに実装/サポートされていないように見えるので(理由がわかります)、「ShouldSerialize*」および「OnSerializing」アプローチを採用することでこれを回避しました。ただし、これは、StreamingContextを各クラスに格納する必要があることを意味します。私たちは潜在的にそれをグローバルに固執する可能性がありますが、これも正しく感じられません。
たとえば、protobuf.net形式のみを使用してシリアル化するが、外部から提供されるコンテキストの影響を受けてシリアル化されるものを使用するなど、必要なものを実現するためのより良い方法はありますか?