|
override JsonProperty | CreateProperty (MemberInfo member, MemberSerialization memberSerialization) |
|
◆ 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 }
◆ Instance
The documentation for this class was generated from the following file: