INNER CODE UNIT · C#

PrivateSetterContractResolver

mizrael/SuperSafeBank · src/SuperSafeBank.Common/PrivateSetterContractResolver.cs:10

    public class PrivateSetterContractResolver : DefaultContractResolver
    {
        protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization)
        {
            var jsonProperty = base.CreateProperty(member, memberSerialization);
            if (jsonProperty.Writable)
                return jsonProperty;

            if (member is PropertyInfo propertyInfo)
            {
                var setter = propertyInfo.GetSetMethod(true);
                jsonProperty.Writable = setter != null;
            }

            return jsonProperty;
        }
    }
}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…