/// <summary>
        /// Creates properties for the given <see cref="JsonContract"/>.
        /// </summary>
        /// <param name="type">The type to create properties for.</param>
        /// /// <param name="memberSerialization">The member serialization mode for the type.</param>
        /// <returns>Properties for the given <see cref="JsonContract"/>.</returns>
        protected virtual IList <JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization)
        {
            List <MemberInfo> members = GetSerializableMembers(type);

            if (members == null)
            {
                throw new JsonSerializationException("Null collection of seralizable members returned.");
            }

            JsonPropertyCollection properties = new JsonPropertyCollection(type);

            foreach (MemberInfo member in members)
            {
                JsonProperty property = CreateProperty(member, memberSerialization);

                if (property != null)
                {
                    properties.AddProperty(property);
                }
            }

            IList <JsonProperty> orderedProperties = properties.OrderBy(p => p.Order ?? -1).ToList();

            return(orderedProperties);
        }
Пример #2
0
        protected virtual IList <JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization)
        {
            List <MemberInfo> serializableMembers = this.GetSerializableMembers(type);

            if (serializableMembers == null)
            {
                throw new JsonSerializationException("Null collection of seralizable members returned.");
            }
            JsonPropertyCollection jsonPropertyCollection = new JsonPropertyCollection(type);

            foreach (MemberInfo current in serializableMembers)
            {
                JsonProperty jsonProperty = this.CreateProperty(current, memberSerialization);
                if (jsonProperty != null)
                {
                    jsonPropertyCollection.AddProperty(jsonProperty);
                }
            }
            return(jsonPropertyCollection.OrderBy(delegate(JsonProperty p)
            {
                int?order = p.Order;
                if (!order.HasValue)
                {
                    return -1;
                }
                return order.GetValueOrDefault();
            }).ToList <JsonProperty>());
        }
        protected virtual IList <JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization)
        {
            List <MemberInfo> serializableMembers = GetSerializableMembers(type);

            if (serializableMembers == null)
            {
                throw new JsonSerializationException("Null collection of seralizable members returned.");
            }
            JsonPropertyCollection jsonPropertyCollection = new JsonPropertyCollection(type);

            foreach (MemberInfo item in serializableMembers)
            {
                JsonProperty jsonProperty = CreateProperty(item, memberSerialization);
                if (jsonProperty != null)
                {
                    jsonPropertyCollection.AddProperty(jsonProperty);
                }
            }
            return(jsonPropertyCollection.OrderBy((JsonProperty p) => p.Order ?? (-1)).ToList());
        }
        protected virtual IList <JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization)
        {
            List <MemberInfo> serializableMembers = this.GetSerializableMembers(type);

            if (serializableMembers == null)
            {
                throw new JsonSerializationException("Null collection of seralizable members returned.");
            }
            JsonPropertyCollection jsonPropertyCollection = new JsonPropertyCollection(type);

            foreach (MemberInfo member in serializableMembers)
            {
                JsonProperty jsonProperty = this.CreateProperty(member, memberSerialization);
                if (jsonProperty != null)
                {
                    jsonPropertyCollection.AddProperty(jsonProperty);
                }
            }
            return(jsonPropertyCollection.OrderBy(delegate(JsonProperty p)
            {
                int?order = p.Order;
                return (order == null) ? -1 : order.Value;
            }).ToList <JsonProperty>());
        }
        protected virtual IList <JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization)
        {
            List <MemberInfo> serializableMembers = this.GetSerializableMembers(type);

            if (serializableMembers == null)
            {
                throw new JsonSerializationException("Null collection of seralizable members returned.");
            }
            JsonPropertyCollection source = new JsonPropertyCollection(type);

            foreach (MemberInfo info in serializableMembers)
            {
                JsonProperty property = this.CreateProperty(info, memberSerialization);
                if (property != null)
                {
                    source.AddProperty(property);
                }
            }
            if (func_3 == null)
            {
                func_3 = new Func <JsonProperty, int>(DefaultContractResolver.smethod_8);
            }
            return(source.OrderBy <JsonProperty, int>(func_3).ToList <JsonProperty>());
        }