private int ByType(Newtonsoft.Json.Serialization.JsonProperty property) { if (typeof(string).Equals(property.PropertyType)) { return(0); } if (typeof(System.Collections.IEnumerable).IsAssignableFrom(property.PropertyType)) { return(1); } return(0); }
protected override Newtonsoft.Json.Serialization.JsonProperty CreateProperty(System.Reflection.MemberInfo member, MemberSerialization memberSerialization) { Newtonsoft.Json.Serialization.JsonProperty prop = base.CreateProperty(member, memberSerialization); if (!prop.Writable) { System.Reflection.PropertyInfo property = member as System.Reflection.PropertyInfo; if (property != null) { bool hasPrivateSetter = property.GetSetMethod(true) != null; prop.Writable = hasPrivateSetter; } } return(prop); }
protected override IList <Newtonsoft.Json.Serialization.JsonProperty> CreateProperties(Type type, Newtonsoft.Json.MemberSerialization memberSerialization) { var properties = type.GetMethods() .Where(m => m.Name.Length > 3) .GroupBy(m => m.Name.Substring(3)) .Where(g => g.Count() == 2 && g.Any(x => x.Name == "set" + g.Key) && g.Any(x => x.Name == "get" + g.Key)) .ToList(); var ret = properties.Select(prop => { var jProp = new Newtonsoft.Json.Serialization.JsonProperty(); jProp.PropertyName = prop.Key; jProp.PropertyType = prop.First(m => m.Name.StartsWith("get")).ReturnType; jProp.ValueProvider = new MyValueProvider(prop.ToList()); jProp.Readable = jProp.Writable = true; return(jProp); }) .ToList(); return(ret); }
protected virtual bool TryGetJsonProperty(object target, Newtonsoft.Json.Serialization.IContractResolver contractResolver, string segment, out Newtonsoft.Json.Serialization.JsonProperty jsonProperty) { throw null; }
public JsonPatchProperty(Newtonsoft.Json.Serialization.JsonProperty property, object parent) { }