protected virtual JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization)
        {
            bool         flag;
            JsonProperty property = new JsonProperty {
                PropertyType  = Class194.smethod_20(member),
                DeclaringType = member.DeclaringType,
                ValueProvider = this.CreateMemberValueProvider(member)
            };

            this.method_11(property, member, member.Name, member.DeclaringType, memberSerialization, out flag);
            if (memberSerialization != MemberSerialization.Fields)
            {
                property.Readable = Class194.smethod_25(member, flag);
                property.Writable = Class194.smethod_26(member, flag, property.HasMemberAttribute);
            }
            else
            {
                property.Readable = true;
                property.Writable = true;
            }
            property.ShouldSerialize = this.method_12(member);
            this.method_13(property, member, flag);
            return(property);
        }