UnityEditor.Json.Serializer.SerializeOther C# (CSharp) Method

SerializeOther() private method

private SerializeOther ( object value ) : void
value object
return void
            private void SerializeOther(object value)
            {
                if (value is float)
                {
                    this.builder.Append(((float) value).ToString("R", CultureInfo.InvariantCulture));
                }
                else if ((((value is int) || (value is uint)) || ((value is long) || (value is sbyte))) || (((value is byte) || (value is short)) || ((value is ushort) || (value is ulong))))
                {
                    this.builder.Append(value);
                }
                else if ((value is double) || (value is decimal))
                {
                    this.builder.Append(Convert.ToDouble(value).ToString("R", CultureInfo.InvariantCulture));
                }
                else
                {
                    Dictionary<string, object> dictionary = new Dictionary<string, object>();
                    List<FieldInfo> list = Enumerable.ToList<FieldInfo>(value.GetType().GetFields(BindingFlags.Public | BindingFlags.Instance));
                    foreach (FieldInfo info in list)
                    {
                        dictionary.Add(info.Name, info.GetValue(value));
                    }
                    List<PropertyInfo> list2 = Enumerable.ToList<PropertyInfo>(value.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance));
                    foreach (PropertyInfo info2 in list2)
                    {
                        dictionary.Add(info2.Name, info2.GetValue(value, null));
                    }
                    this.SerializeObject(dictionary);
                }
            }