Пример #1
0
        // 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.");
        }
Пример #2
0
        // Token: 0x06000C19 RID: 3097 RVA: 0x000438D0 File Offset: 0x00041AD0
        public virtual object pmethod_2179(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;
            Class_491 class_ = Class_308.field_2.Get(type);

            if (arg_0.prop_9 != Class_508.Null)
            {
                object obj  = null;
                object obj2 = null;
                Class_308.xmethod_2181(arg_0);
                while (arg_0.prop_9 == Class_508.PropertyName)
                {
                    string a = arg_0.prop_10.ToString();
                    if (string.Equals(a, "Key", StringComparison.OrdinalIgnoreCase))
                    {
                        Class_308.xmethod_2181(arg_0);
                        obj = arg_2.smethod_3170(arg_0, class_.cmethod_4064("Key"));
                    }
                    else if (string.Equals(a, "Value", StringComparison.OrdinalIgnoreCase))
                    {
                        Class_308.xmethod_2181(arg_0);
                        obj2 = arg_2.smethod_3170(arg_0, class_.cmethod_4064("Value"));
                    }
                    else
                    {
                        arg_0.smethod_1900();
                    }
                    Class_308.xmethod_2181(arg_0);
                }
                return(class_.prop_0(new object[]
                {
                    obj,
                    obj2
                }));
            }
            if (!flag)
            {
                throw Class_417.xmethod_3101(arg_0, "Cannot convert null value to KeyValuePair.");
            }
            return(null);
        }