Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
ShouldSerializeContractResolver Class Reference
Inheritance diagram for ShouldSerializeContractResolver:

Static Public Attributes

static readonly ShouldSerializeContractResolver Instance = new ShouldSerializeContractResolver()
 

Protected Member Functions

override JsonProperty CreateProperty (MemberInfo member, MemberSerialization memberSerialization)
 

Detailed Description

Definition at line 7 of file ShouldSerializeContractResolver.cs.

Member Function Documentation

◆ CreateProperty()

override JsonProperty ShouldSerializeContractResolver.CreateProperty ( MemberInfo  member,
MemberSerialization  memberSerialization 
)
inlineprotected

Definition at line 11 of file ShouldSerializeContractResolver.cs.

12 {
13 JsonProperty property = base.CreateProperty(member, memberSerialization);
14 if (!typeof(string).IsAssignableFrom(property.PropertyType) && typeof(IEnumerable).IsAssignableFrom(property.PropertyType))
15 {
16 Predicate<object> newShouldSerialize = (object obj) => !(property.ValueProvider.GetValue(obj) is ICollection collection) || collection.Count != 0;
17 Predicate<object> oldShouldSerialize = property.ShouldSerialize;
18 property.ShouldSerialize = ((oldShouldSerialize != null) ? ((Predicate<object>)((object o) => oldShouldSerialize(o) && newShouldSerialize(o))) : newShouldSerialize);
19 }
20 return property;
21 }

Member Data Documentation

◆ Instance

readonly ShouldSerializeContractResolver ShouldSerializeContractResolver.Instance = new ShouldSerializeContractResolver()
static

Definition at line 9 of file ShouldSerializeContractResolver.cs.


The documentation for this class was generated from the following file: