Exemple #1
0
        // Token: 0x06000BF7 RID: 3063 RVA: 0x00042DC4 File Offset: 0x00040FC4
        private static Type xmethod_2151(Class_285 arg_0)
        {
            Class_508 class_ = arg_0.prop_9;

            switch (class_)
            {
            case Class_508.StartArray:
            {
                Class_302.tmethod_2152(arg_0);
                if (arg_0.prop_9 == Class_508.StartObject)
                {
                    return(typeof(DataTable));
                }
                Type type = Class_302.xmethod_2151(arg_0);
                return(type.MakeArrayType());
            }

            case Class_508.Integer:
            case Class_508.Float:
            case Class_508.String:
            case Class_508.Boolean:
            case Class_508.Date:
            case Class_508.Bytes:
                return(arg_0.prop_11);

            case Class_508.Null:
            case Class_508.Undefined:
                return(typeof(string));
            }
            throw Class_417.xmethod_3101(arg_0, "Unexpected JSON token when reading DataTable: {0}".FormatWith(CultureInfo.InvariantCulture, class_));
        }
 // Token: 0x06000C1B RID: 3099 RVA: 0x00043A2E File Offset: 0x00041C2E
 private static void xmethod_2181(Class_285 arg_0)
 {
     if (!arg_0.vmethod_1885())
     {
         throw Class_417.xmethod_3101(arg_0, "Unexpected end when reading KeyValuePair.");
     }
 }
        // Token: 0x06000C11 RID: 3089 RVA: 0x00043624 File Offset: 0x00041824
        private object tmethod_2172(Class_285 arg_0)
        {
            while (arg_0.prop_9 == Class_508.Comment)
            {
                if (!arg_0.vmethod_1885())
                {
                    throw Class_417.xmethod_3101(arg_0, "Unexpected end when reading ExpandoObject.");
                }
            }
            switch (arg_0.prop_9)
            {
            case Class_508.StartObject:
                return(this.cmethod_2174(arg_0));

            case Class_508.StartArray:
                return(this.gmethod_2173(arg_0));

            default:
                if (Class_486.IsPrimitiveToken(arg_0.prop_9))
                {
                    return(arg_0.prop_10);
                }
                throw Class_417.xmethod_3101(arg_0, "Unexpected token when converting ExpandoObject: {0}".FormatWith(CultureInfo.InvariantCulture, arg_0.prop_9));
            }
        }
        // Token: 0x06000C13 RID: 3091 RVA: 0x00043714 File Offset: 0x00041914
        private object cmethod_2174(Class_285 arg_0)
        {
            IDictionary <string, object> dictionary = new ExpandoObject();

            while (arg_0.vmethod_1885())
            {
                Class_508 class_ = arg_0.prop_9;
                switch (class_)
                {
                case Class_508.PropertyName:
                {
                    string key = arg_0.prop_10.ToString();
                    if (!arg_0.vmethod_1885())
                    {
                        throw Class_417.xmethod_3101(arg_0, "Unexpected end when reading ExpandoObject.");
                    }
                    object value = this.tmethod_2172(arg_0);
                    dictionary[key] = value;
                    break;
                }

                case Class_508.Comment:
                    break;

                default:
                    if (class_ == Class_508.EndObject)
                    {
                        return(dictionary);
                    }
                    break;
                }
            }
            throw Class_417.xmethod_3101(arg_0, "Unexpected end when reading ExpandoObject.");
        }
Exemple #5
0
        // Token: 0x06000BF5 RID: 3061 RVA: 0x00042B70 File Offset: 0x00040D70
        public virtual object pmethod_2149(Class_285 arg_0, Type arg_1, object obje_0, Class_418 arg_2)
        {
            DataTable dataTable = obje_0 as DataTable;

            if (dataTable == null)
            {
                dataTable = ((arg_1 == typeof(DataTable)) ? new DataTable() : ((DataTable)Activator.CreateInstance(arg_1)));
            }
            if (arg_0.prop_9 == Class_508.PropertyName)
            {
                dataTable.TableName = (string)arg_0.prop_10;
                Class_302.tmethod_2152(arg_0);
            }
            if (arg_0.prop_9 != Class_508.StartArray)
            {
                throw Class_417.xmethod_3101(arg_0, "Unexpected JSON token when reading DataTable. Expected StartArray, got {0}.".FormatWith(CultureInfo.InvariantCulture, arg_0.prop_9));
            }
            Class_302.tmethod_2152(arg_0);
            while (arg_0.prop_9 != Class_508.EndArray)
            {
                Class_302.smethod_2150(arg_0, dataTable);
                Class_302.tmethod_2152(arg_0);
            }
            return(dataTable);
        }
 // Token: 0x06000D4C RID: 3404 RVA: 0x000482F8 File Offset: 0x000464F8
 public Class_354(Class_285 arg_0)
 {
     this.field_0        = arg_0;
     this.field_2        = new StringWriter(CultureInfo.InvariantCulture);
     this.field_1        = new Class_412(this.field_2);
     this.field_1.prop_5 = Class_322.Indented;
 }
        // Token: 0x06001035 RID: 4149 RVA: 0x00051A38 File Offset: 0x0004FC38
        private void tmethod_2972(Class_285 arg_0, Class_389 arg_1, string str_0, Class_387 arg_2, XmlNamespaceManager arg_3)
        {
            Func <Class_391, bool> func = null;

            Class_407.NClass_1 nclass_ = new Class_407.NClass_1();
            nclass_.field_2 = str_0;
            string    prefix = Class_513.GetPrefix(nclass_.field_2);
            Class_391 class_ = this.kmethod_2977(nclass_.field_2, arg_1, prefix, arg_3);

            arg_2.kmethod_2817(class_);
            int num = 0;

            while (arg_0.vmethod_1885() && arg_0.prop_9 != Class_508.EndArray)
            {
                this.pmethod_2969(arg_0, arg_1, arg_3, nclass_.field_2, class_);
                num++;
            }
            if (this.prop_1)
            {
                this.gmethod_2973(class_, arg_1);
            }
            if (num == 1 && this.prop_1)
            {
                IEnumerable <Class_391> source = class_.prop_2.OfType <Class_391>();
                if (func == null)
                {
                    func = new Func <Class_391, bool>(nclass_.nmethod_3);
                }
                Class_391 arg_4 = source.Single(func);
                this.gmethod_2973(arg_4, arg_1);
            }
        }
Exemple #8
0
 // Token: 0x06000BF8 RID: 3064 RVA: 0x00042E7F File Offset: 0x0004107F
 private static void tmethod_2152(Class_285 arg_0)
 {
     if (!arg_0.vmethod_1885())
     {
         throw Class_417.xmethod_3101(arg_0, "Unexpected end when reading DataTable.");
     }
 }
Exemple #9
0
        // Token: 0x06000C31 RID: 3121 RVA: 0x00043F1C File Offset: 0x0004211C
        public virtual object lmethod_2198(Class_285 arg_0, Type arg_1, object obje_0, Class_418 arg_2)
        {
            bool flag = Class_514.IsNullableType(arg_1);
            Type type = flag ? Nullable.GetUnderlyingType(arg_1) : arg_1;

            if (arg_0.prop_9 != Class_508.Null)
            {
                try
                {
                    if (arg_0.prop_9 == Class_508.String)
                    {
                        string enumText = arg_0.prop_10.ToString();
                        return(Class_505.ParseEnumName(enumText, flag, type));
                    }
                    if (arg_0.prop_9 == Class_508.Integer)
                    {
                        if (!this.prop_1)
                        {
                            throw Class_417.xmethod_3101(arg_0, "Integer value {0} is not allowed.".FormatWith(CultureInfo.InvariantCulture, arg_0.prop_10));
                        }
                        return(Class_499.ConvertOrCast(arg_0.prop_10, CultureInfo.InvariantCulture, type));
                    }
                }
                catch (Exception arg_3)
                {
                    throw Class_417.tmethod_3102(arg_0, "Error converting value {0} to type '{1}'.".FormatWith(CultureInfo.InvariantCulture, Class_513.FormatValueForPrint(arg_0.prop_10), arg_1), arg_3);
                }
                throw Class_417.xmethod_3101(arg_0, "Unexpected token {0} when parsing enum.".FormatWith(CultureInfo.InvariantCulture, arg_0.prop_9));
            }
            if (!Class_514.IsNullableType(arg_1))
            {
                throw Class_417.xmethod_3101(arg_0, "Cannot convert null value to {0}.".FormatWith(CultureInfo.InvariantCulture, arg_1));
            }
            return(null);
        }
 // Token: 0x06000BF2 RID: 3058 RVA: 0x00042A10 File Offset: 0x00040C10
 private void kmethod_2147(Class_285 arg_0)
 {
     if (!arg_0.vmethod_1885())
     {
         throw Class_417.xmethod_3101(arg_0, "Unexpected end when reading DataSet.");
     }
 }
Exemple #11
0
 // Token: 0x06000C06 RID: 3078 RVA: 0x00043377 File Offset: 0x00041577
 private static void gmethod_2163(Class_285 arg_0)
 {
     if (!arg_0.vmethod_1885())
     {
         throw Class_417.xmethod_3101(arg_0, "Unexpected end when reading union.");
     }
 }
        // Token: 0x06000BEC RID: 3052 RVA: 0x000427C0 File Offset: 0x000409C0
        private byte[] tmethod_2142(Class_285 arg_0)
        {
            List <byte> list = new List <byte>();

            while (arg_0.vmethod_1885())
            {
                Class_508 class_ = arg_0.prop_9;
                switch (class_)
                {
                case Class_508.Comment:
                    continue;

                case Class_508.Raw:
                    break;

                case Class_508.Integer:
                    list.Add(Convert.ToByte(arg_0.prop_10, CultureInfo.InvariantCulture));
                    continue;

                default:
                    if (class_ == Class_508.EndArray)
                    {
                        return(list.ToArray());
                    }
                    break;
                }
                throw Class_417.xmethod_3101(arg_0, "Unexpected token when reading bytes: {0}".FormatWith(CultureInfo.InvariantCulture, arg_0.prop_9));
            }
            throw Class_417.xmethod_3101(arg_0, "Unexpected end when reading bytes.");
        }
Exemple #13
0
 // Token: 0x06000C0A RID: 3082 RVA: 0x00043508 File Offset: 0x00041708
 private static void dmethod_2166(Class_285 arg_0)
 {
     if (!arg_0.vmethod_1885())
     {
         throw new Class_417("Unexpected end.");
     }
 }
        // Token: 0x060014B4 RID: 5300 RVA: 0x0005F550 File Offset: 0x0005D750
        public static Class_459 xmethod_3781(Class_285 arg_0, Class_435 arg_1)
        {
            Class_517.ArgumentNotNull(arg_0, "reader");
            Class_517.ArgumentNotNull(arg_1, "resolver");
            Class_460 class_ = new Class_460(arg_1);

            return(class_.smethod_3790(arg_0));
        }
Exemple #15
0
 // Token: 0x060015A1 RID: 5537 RVA: 0x00067093 File Offset: 0x00065293
 internal virtual object vmethod_3995(Class_285 arg_0, Type arg_1)
 {
     if (this.field_0 != null)
     {
         return(this.field_0.gmethod_3853(arg_0, arg_1, false));
     }
     return(this.field_2.smethod_3170(arg_0, arg_1));
 }
Exemple #16
0
 // Token: 0x06000C09 RID: 3081 RVA: 0x000434BC File Offset: 0x000416BC
 private static void vmethod_2165(Class_285 arg_0, string str_0)
 {
     Class_306.dmethod_2166(arg_0);
     if (arg_0.prop_9 != Class_508.PropertyName || !string.Equals(arg_0.prop_10.ToString(), str_0, StringComparison.OrdinalIgnoreCase))
     {
         throw new Class_417("Expected JSON property '{0}'.".FormatWith(CultureInfo.InvariantCulture, str_0));
     }
 }
        // Token: 0x06001031 RID: 4145 RVA: 0x00051454 File Offset: 0x0004F654
        public virtual object lmethod_2968(Class_285 arg_0, Type arg_1, object obje_0, Class_418 arg_2)
        {
            if (arg_0.prop_9 == Class_508.Null)
            {
                return(null);
            }
            XmlNamespaceManager xmlNamespaceManager = new XmlNamespaceManager(new NameTable());
            Class_389           class_  = null;
            Class_387           class_2 = null;

            if (typeof(XObject).IsAssignableFrom(arg_1))
            {
                if (arg_1 != typeof(XDocument) && arg_1 != typeof(XElement))
                {
                    throw new Class_417("XmlNodeConverter only supports deserializing XDocument or XElement.");
                }
                XDocument arg_3 = new XDocument();
                class_  = new Class_401(arg_3);
                class_2 = class_;
            }
            if (typeof(XmlNode).IsAssignableFrom(arg_1))
            {
                if (arg_1 != typeof(XmlDocument))
                {
                    throw new Class_417("XmlNodeConverter only supports deserializing XmlDocuments");
                }
                class_ = new Class_390(new XmlDocument
                {
                    XmlResolver = null
                });
                class_2 = class_;
            }
            if (class_ == null || class_2 == null)
            {
                throw new Class_417("Unexpected type when converting XML: " + arg_1);
            }
            if (arg_0.prop_9 != Class_508.StartObject)
            {
                throw new Class_417("XmlNodeConverter can only convert JSON that begins with an object.");
            }
            if (!string.IsNullOrEmpty(this.prop_0))
            {
                this.smethod_2970(arg_0, class_, class_2, this.prop_0, xmlNamespaceManager);
            }
            else
            {
                arg_0.vmethod_1885();
                this.lmethod_2978(arg_0, class_, xmlNamespaceManager, class_2);
            }
            if (arg_1 == typeof(XElement))
            {
                XElement xelement = (XElement)class_.prop_0.prop_7;
                xelement.Remove();
                return(xelement);
            }
            return(class_.prop_7);
        }
 // Token: 0x06000C1F RID: 3103 RVA: 0x00043A9C File Offset: 0x00041C9C
 public virtual object gmethod_2183(Class_285 arg_0, Type arg_1, object obje_0, Class_418 arg_2)
 {
     if (arg_0.prop_9 != Class_508.Bytes)
     {
         throw new Class_417("Expected Bytes but got {0}.".FormatWith(CultureInfo.InvariantCulture, arg_0.prop_9));
     }
     byte[] byteDizi_ = (byte[])arg_0.prop_10;
     return(new Class_298(byteDizi_));
 }
Exemple #19
0
 // Token: 0x060015A2 RID: 5538 RVA: 0x000670BC File Offset: 0x000652BC
 internal virtual void dmethod_3996(Class_285 arg_0, object obje_0)
 {
     if (this.field_0 != null)
     {
         this.field_0.xmethod_3851(arg_0, obje_0);
         return;
     }
     this.field_2.vmethod_3165(arg_0, obje_0);
 }
        // Token: 0x060014BE RID: 5310 RVA: 0x0005F6FC File Offset: 0x0005D8FC
        internal Class_459 smethod_3790(Class_285 arg_0)
        {
            Class_361 class_ = Class_361.dmethod_2566(arg_0);

            this.field_4 = (class_ as Class_423);
            Class_459 class_2 = this.gmethod_3793(class_);

            this.tmethod_3792(class_2);
            return(class_2);
        }
Exemple #21
0
        // Token: 0x06000BF6 RID: 3062 RVA: 0x00042C28 File Offset: 0x00040E28
        private static void smethod_2150(Class_285 arg_0, DataTable arg_1)
        {
            DataRow dataRow = arg_1.NewRow();

            Class_302.tmethod_2152(arg_0);
            while (arg_0.prop_9 == Class_508.PropertyName)
            {
                string text = (string)arg_0.prop_10;
                Class_302.tmethod_2152(arg_0);
                DataColumn dataColumn = arg_1.Columns[text];
                if (dataColumn == null)
                {
                    Type dataType = Class_302.xmethod_2151(arg_0);
                    dataColumn = new DataColumn(text, dataType);
                    arg_1.Columns.Add(dataColumn);
                }
                if (dataColumn.DataType == typeof(DataTable))
                {
                    if (arg_0.prop_9 == Class_508.StartArray)
                    {
                        Class_302.tmethod_2152(arg_0);
                    }
                    DataTable dataTable = new DataTable();
                    while (arg_0.prop_9 != Class_508.EndArray)
                    {
                        Class_302.smethod_2150(arg_0, dataTable);
                        Class_302.tmethod_2152(arg_0);
                    }
                    dataRow[text] = dataTable;
                }
                else if (dataColumn.DataType.IsArray && dataColumn.DataType != typeof(byte[]))
                {
                    if (arg_0.prop_9 == Class_508.StartArray)
                    {
                        Class_302.tmethod_2152(arg_0);
                    }
                    List <object> list = new List <object>();
                    while (arg_0.prop_9 != Class_508.EndArray)
                    {
                        list.Add(arg_0.prop_10);
                        Class_302.tmethod_2152(arg_0);
                    }
                    Array array = Array.CreateInstance(dataColumn.DataType.GetElementType(), list.Count);
                    Array.Copy(list.ToArray(), array, list.Count);
                    dataRow[text] = array;
                }
                else
                {
                    dataRow[text] = (arg_0.prop_10 ?? DBNull.Value);
                }
                Class_302.tmethod_2152(arg_0);
            }
            dataRow.EndEdit();
            arg_1.Rows.Add(dataRow);
        }
        // Token: 0x06000F7F RID: 3967 RVA: 0x0004FCF4 File Offset: 0x0004DEF4
        public virtual object kmethod_2807(Class_285 arg_0, Type arg_1, object obje_0, Class_418 arg_2)
        {
            bool flag = Class_514.IsNullableType(arg_1);
            Type left = flag ? Nullable.GetUnderlyingType(arg_1) : arg_1;

            if (arg_0.prop_9 == Class_508.Null)
            {
                if (!Class_514.IsNullableType(arg_1))
                {
                    throw Class_417.xmethod_3101(arg_0, "Cannot convert null value to {0}.".FormatWith(CultureInfo.InvariantCulture, arg_1));
                }
                return(null);
            }
            else if (arg_0.prop_9 == Class_508.Date)
            {
                if (!(left == typeof(DateTimeOffset)))
                {
                    return(arg_0.prop_10);
                }
                if (!(arg_0.prop_10 is DateTimeOffset))
                {
                    return(new DateTimeOffset((DateTime)arg_0.prop_10));
                }
                return(arg_0.prop_10);
            }
            else
            {
                if (arg_0.prop_9 != Class_508.String)
                {
                    throw Class_417.xmethod_3101(arg_0, "Unexpected token parsing date. Expected String, got {0}.".FormatWith(CultureInfo.InvariantCulture, arg_0.prop_9));
                }
                string text = arg_0.prop_10.ToString();
                if (string.IsNullOrEmpty(text) && flag)
                {
                    return(null);
                }
                if (left == typeof(DateTimeOffset))
                {
                    if (!string.IsNullOrEmpty(this.field_2))
                    {
                        return(DateTimeOffset.ParseExact(text, this.field_2, this.prop_2, this.field_1));
                    }
                    return(DateTimeOffset.Parse(text, this.prop_2, this.field_1));
                }
                else
                {
                    if (!string.IsNullOrEmpty(this.field_2))
                    {
                        return(DateTime.ParseExact(text, this.field_2, this.prop_2, this.field_1));
                    }
                    return(DateTime.Parse(text, this.prop_2, this.field_1));
                }
            }
        }
 // Token: 0x06000C26 RID: 3110 RVA: 0x00043C61 File Offset: 0x00041E61
 public virtual object pmethod_2189(Class_285 arg_0, Type arg_1, object obje_0, Class_418 arg_2)
 {
     if (arg_0.prop_9 == Class_508.StartObject)
     {
         return(this.xmethod_2191(arg_0, arg_2));
     }
     if (arg_0.prop_9 == Class_508.String)
     {
         return(this.smethod_2190(arg_0));
     }
     throw Class_417.xmethod_3101(arg_0, "Unexpected token when reading Regex.");
 }
            // Token: 0x06000A53 RID: 2643 RVA: 0x0003D6CC File Offset: 0x0003B8CC
            public virtual object nmethod_1(Class_285 arg_0, Type arg_1, object obje_0, Class_418 arg_2)
            {
                if (arg_0.prop_9 == Class_508.Null)
                {
                    return(null);
                }
                Class_274 class_ = new Class_274();

                foreach (Class_424 jArray in Class_424.xmethod_3351(arg_0).OfType <Class_424>())
                {
                    class_.Add(new Class_274.NClass_0.Session(jArray));
                }
                return(class_);
            }
Exemple #25
0
        // Token: 0x06000E9E RID: 3742 RVA: 0x0004D410 File Offset: 0x0004B610
        public static Class_363 gmethod_2633(Class_285 arg_0)
        {
            Class_363 result;

            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                using (Class_412 class_ = new Class_412(stringWriter))
                {
                    class_.dmethod_2016(arg_0);
                    result = new Class_363(stringWriter.ToString());
                }
            }
            return(result);
        }
        // Token: 0x06000C28 RID: 3112 RVA: 0x00043D68 File Offset: 0x00041F68
        private Regex xmethod_2191(Class_285 arg_0, Class_418 arg_1)
        {
            string       text         = null;
            RegexOptions?regexOptions = null;

            while (arg_0.vmethod_1885())
            {
                Class_508 class_ = arg_0.prop_9;
                switch (class_)
                {
                case Class_508.PropertyName:
                {
                    string a = arg_0.prop_10.ToString();
                    if (!arg_0.vmethod_1885())
                    {
                        throw Class_417.xmethod_3101(arg_0, "Unexpected end when reading Regex.");
                    }
                    if (string.Equals(a, "Pattern", StringComparison.OrdinalIgnoreCase))
                    {
                        text = (string)arg_0.prop_10;
                    }
                    else if (string.Equals(a, "Options", StringComparison.OrdinalIgnoreCase))
                    {
                        regexOptions = new RegexOptions?(arg_1.pmethod_3169 <RegexOptions>(arg_0));
                    }
                    else
                    {
                        arg_0.smethod_1900();
                    }
                    break;
                }

                case Class_508.Comment:
                    break;

                default:
                    if (class_ == Class_508.EndObject)
                    {
                        if (text == null)
                        {
                            throw Class_417.xmethod_3101(arg_0, "Error deserializing Regex. No pattern found.");
                        }
                        return(new Regex(text, regexOptions ?? RegexOptions.None));
                    }
                    break;
                }
            }
            throw Class_417.xmethod_3101(arg_0, "Unexpected end when reading Regex.");
        }
        // Token: 0x06000BFC RID: 3068 RVA: 0x00042EB8 File Offset: 0x000410B8
        public virtual object vmethod_2155(Class_285 arg_0, Type arg_1, object obje_0, Class_418 arg_2)
        {
            if (arg_0.prop_9 == Class_508.Null)
            {
                return(null);
            }
            T t = this.Create(arg_1);

            if (t == null)
            {
                throw new Class_417("No object created.");
            }
            arg_2.vmethod_3165(arg_0, t);
            return(t);
        }
Exemple #28
0
        // Token: 0x060011F0 RID: 4592 RVA: 0x000582A8 File Offset: 0x000564A8
        internal void pmethod_3229(Class_285 arg_0)
        {
            int num = arg_0.prop_12;

            if (!arg_0.vmethod_1885())
            {
                throw Class_414.lmethod_3098(arg_0, "Error reading {0} from JsonReader.".FormatWith(CultureInfo.InvariantCulture, base.GetType().Name));
            }
            this.smethod_3230(arg_0);
            int num2 = arg_0.prop_12;

            if (num2 > num)
            {
                throw Class_414.lmethod_3098(arg_0, "Unexpected end of content while loading {0}.".FormatWith(CultureInfo.InvariantCulture, base.GetType().Name));
            }
        }
 // Token: 0x06001034 RID: 4148 RVA: 0x000518E8 File Offset: 0x0004FAE8
 private string xmethod_2971(Class_285 arg_0)
 {
     if (arg_0.prop_9 == Class_508.String)
     {
         return(arg_0.prop_10.ToString());
     }
     if (arg_0.prop_9 == Class_508.Integer)
     {
         return(XmlConvert.ToString(Convert.ToInt64(arg_0.prop_10, CultureInfo.InvariantCulture)));
     }
     if (arg_0.prop_9 == Class_508.Float)
     {
         if (arg_0.prop_10 is decimal)
         {
             return(XmlConvert.ToString((decimal)arg_0.prop_10));
         }
         if (arg_0.prop_10 is float)
         {
             return(XmlConvert.ToString((float)arg_0.prop_10));
         }
         return(XmlConvert.ToString(Convert.ToDouble(arg_0.prop_10, CultureInfo.InvariantCulture)));
     }
     else
     {
         if (arg_0.prop_9 == Class_508.Boolean)
         {
             return(XmlConvert.ToString(Convert.ToBoolean(arg_0.prop_10, CultureInfo.InvariantCulture)));
         }
         if (arg_0.prop_9 == Class_508.Date)
         {
             if (arg_0.prop_10 is DateTimeOffset)
             {
                 return(XmlConvert.ToString((DateTimeOffset)arg_0.prop_10));
             }
             DateTime value = Convert.ToDateTime(arg_0.prop_10, CultureInfo.InvariantCulture);
             return(XmlConvert.ToString(value, Class_502.ToSerializationMode(value.Kind)));
         }
         else
         {
             if (arg_0.prop_9 == Class_508.Null)
             {
                 return(null);
             }
             throw Class_417.xmethod_3101(arg_0, "Cannot get an XML string value from token type '{0}'.".FormatWith(CultureInfo.InvariantCulture, arg_0.prop_9));
         }
     }
 }
        // Token: 0x06001033 RID: 4147 RVA: 0x000516F8 File Offset: 0x0004F8F8
        private void smethod_2970(Class_285 arg_0, Class_389 arg_1, Class_387 arg_2, string str_0, XmlNamespaceManager arg_3)
        {
            if (string.IsNullOrEmpty(str_0))
            {
                throw new Class_417("XmlNodeConverter cannot convert JSON with an empty property name to XML.");
            }
            Dictionary <string, string> dictionary = this.cmethod_2974(arg_0, arg_3);
            string prefix = Class_513.GetPrefix(str_0);

            if (str_0.StartsWith('@'))
            {
                string    text    = str_0.Substring(1);
                string    text2   = arg_0.prop_10.ToString();
                string    prefix2 = Class_513.GetPrefix(text);
                Class_387 arg_4   = (!string.IsNullOrEmpty(prefix2)) ? arg_1.tmethod_2842(text, arg_3.LookupNamespace(prefix2), text2) : arg_1.xmethod_2841(text, text2);
                ((Class_391)arg_2).kmethod_2857(arg_4);
                return;
            }
            Class_391 class_ = this.kmethod_2977(str_0, arg_1, prefix, arg_3);

            arg_2.kmethod_2817(class_);
            foreach (KeyValuePair <string, string> keyValuePair in dictionary)
            {
                string    prefix3 = Class_513.GetPrefix(keyValuePair.Key);
                Class_387 arg_5   = (!string.IsNullOrEmpty(prefix3)) ? arg_1.tmethod_2842(keyValuePair.Key, arg_3.LookupNamespace(prefix3), keyValuePair.Value) : arg_1.xmethod_2841(keyValuePair.Key, keyValuePair.Value);
                class_.kmethod_2857(arg_5);
            }
            if (arg_0.prop_9 == Class_508.String || arg_0.prop_9 == Class_508.Integer || arg_0.prop_9 == Class_508.Float || arg_0.prop_9 == Class_508.Boolean || arg_0.prop_9 == Class_508.Date)
            {
                class_.kmethod_2817(arg_1.tmethod_2832(this.xmethod_2971(arg_0)));
                return;
            }
            if (arg_0.prop_9 == Class_508.Null)
            {
                return;
            }
            if (arg_0.prop_9 != Class_508.EndObject)
            {
                arg_3.PushScope();
                this.lmethod_2978(arg_0, arg_1, arg_3, class_);
                arg_3.PopScope();
            }
            arg_3.RemoveNamespace(string.Empty, arg_3.DefaultNamespace);
        }