Я знаю, что Json.NET поддерживает условные сериализации с помощью ShouldSerialize{PropName}
Json.NET условной сериализация для всего типа
Но есть ли способ предотвратить целый тип сериализовать без изменения типа, который ссылается на это? , например.
public class Foo
{
public bool Enabled {get;set;}
...other properties
}
public class Bar
{
public Foo SomeFoo {get;set;}
public Foo OtherFoo {get;set;}
}
Я хочу Bar
типа, чтобы не включать SomeFooo или OtherFoo в зависимости от того, если включено свойство установлено. если SomeFoo.Enabled = false, то Bar.SomeFoo не следует сериализовать.
Так что я хочу условную сериализацию для ссылочного свойства. И я не хочу, чтобы потребление типа Foo имело дополнительный код или атрибуты. все должно идти по типу Foo.
Я мог бы добавить ShouldSerializeSomeFoo в баре .. но это не то, что я ищу ..