は、私はこのようなクラスを持っている:Newtonsoft JSON ShouldSerializeと継承
public class Foo
{
public int Bar { get; set;}
}
私はBar
値を格納する必要があるので、このクラスは、NoSQLのデータベースに格納するために使用されます。しかし、私はこの値をAPIを通して公開したくありません。 私はFoo
から継承するクラスを作成しました。これはAPIから返されます。
私が見つけたドキュメントhereに従って、ShouldSerializeBar
メソッドを作成しました。
public class Foo2 : Foo
{
public bool ShouldSerializeBar()
{
return false;
}
}
ただし、このメソッドは呼び出されません。これを達成するための回避策がありますか?
あなたの要件を除いて、あなたは 'Foo'で試してみましたか? –
ええ、それは、 'Foo'を直接シリアル化するときにうまくいきました。 –
これは動作しない理由は、宣言型(別名 'Foo')でメソッドを検索し、親/基本クラスを検索しないためです。私は、以下の答え以外には別の方法がありません。 –