/// <summary> /// Serialize a list of members from the object. /// </summary> /// <param name="serializer">The serializer to utilize when serializing the values.</param> /// <param name="contract">The contract of the object to serialize the members from.</param> /// <param name="value">The value to serialize the members from.</param> /// <returns>The list of members that make up the object.</returns> static IEnumerable <JsonMember> SerializeMembers(IJsonSerializer serializer, IContract contract, object value) { foreach (var field in contract.Fields.Where(ShouldSerializeField)) { yield return(new JsonMember(field.Name, serializer.SerializeValue(field.GetValue(value)))); } }
/// <summary> /// Serialize a list of values. /// </summary> /// <param name="serializer">The serializer to utilize when serializing the values.</param> /// <param name="values">The list of values to serialize to the array.</param> /// <returns>The list of values that make up the array.</returns> static IEnumerable <JsonValue> SerializeValue(IJsonSerializer serializer, IEnumerable values) { foreach (var value in values) { yield return(serializer.SerializeValue(value)); } }
/// <summary> /// Serialize a list of members from the object. /// </summary> /// <param name="serializer">The serializer to utilize when serializing the values.</param> /// <param name="type">The type of the object to serialize the members from.</param> /// <param name="value">The value to serialize the members from.</param> /// <returns>The list of members that make up the object.</returns> static IEnumerable<JsonMember> SerializeMembers(IJsonSerializer serializer, Type type, object value) { foreach (var property in type.GetRuntimeProperties().Where(p => p.CanRead)) { yield return new JsonMember(serializer.FieldNamingStrategy.GetName(property.Name), serializer.SerializeValue(property.GetValue(value))); } }
/// <summary> /// Serialize the value. /// </summary> /// <param name="serializer">The serializer to utilize when serializing nested objects.</param> /// <param name="type">The CLR type of the value to serialize.</param> /// <param name="value">The value to serialize.</param> /// <returns>The JSON value that represents the given CLR value.</returns> public JsonValue SerializeValue(IJsonSerializer serializer, Type type, object value) { return(serializer.SerializeValue(value)); }
/// <summary> /// Serialize the value. /// </summary> /// <param name="serializer">The serializer to utilize when serializing nested objects.</param> /// <param name="type">The CLR type of the value to serialize.</param> /// <param name="value">The value to serialize.</param> /// <returns>The JSON value that represents the given CLR value.</returns> public JsonValue SerializeValue(IJsonSerializer serializer, Type type, object value) { return serializer.SerializeValue(value); }
/// <summary> /// Serialize a list of values. /// </summary> /// <param name="serializer">The serializer to utilize when serializing the values.</param> /// <param name="values">The list of values to serialize to the array.</param> /// <returns>The list of values that make up the array.</returns> static IEnumerable<JsonValue> SerializeValue(IJsonSerializer serializer, IEnumerable values) { foreach (var value in values) { yield return serializer.SerializeValue(value); } }
/// <summary> /// Serialize a list of members from the object. /// </summary> /// <param name="serializer">The serializer to utilize when serializing the values.</param> /// <param name="contract">The contract of the object to serialize the members from.</param> /// <param name="value">The value to serialize the members from.</param> /// <returns>The list of members that make up the object.</returns> static IEnumerable<JsonMember> SerializeMembers(IJsonSerializer serializer, IContract contract, object value) { foreach (var field in contract.Fields.Where(ShouldSerializeField)) { yield return new JsonMember(field.Name, serializer.SerializeValue(field.GetValue(value))); } }
/// <summary> /// Serialize a list of members from the object. /// </summary> /// <param name="serializer">The serializer to utilize when serializing the values.</param> /// <param name="type">The type of the object to serialize the members from.</param> /// <param name="value">The value to serialize the members from.</param> /// <returns>The list of members that make up the object.</returns> IEnumerable <JsonMember> SerializeMembers(IJsonSerializer serializer, Type type, object value) { foreach (var property in type.GetRuntimeProperties().Where(p => p.CanRead)) { yield return(new JsonMember(_fieldNamingStrategy.GetName(property.Name), serializer.SerializeValue(property.GetValue(value)))); } }