コード例 #1
0
        // Token: 0x06001551 RID: 5457 RVA: 0x00065980 File Offset: 0x00063B80
        private void kmethod_3917(Class_296 arg_0, object obje_0, Class_464 arg_1, Class_454 arg_2, Class_350 arg_3, Class_454 arg_4)
        {
            this.vmethod_3915(arg_0, arg_1, obje_0);
            this.field_2.Add(obje_0);
            this.pmethod_3919(arg_0, obje_0, arg_1, arg_2, arg_3, arg_4);
            int sayıInt_ = arg_0.prop_1;

            for (int i = 0; i < arg_1.prop_2.Count; i++)
            {
                Class_454 class_ = arg_1.prop_2[i];
                try
                {
                    Class_349 arg_5;
                    object    obje_;
                    if (this.lmethod_3918(arg_0, obje_0, arg_1, arg_2, class_, out arg_5, out obje_))
                    {
                        class_.xmethod_3701(arg_0);
                        this.dmethod_3906(arg_0, obje_, arg_5, class_, arg_1, arg_2);
                    }
                }
                catch (Exception arg_6)
                {
                    if (!base.smethod_3850(obje_0, arg_1, class_.prop_1, null, arg_0.prop_3, arg_6))
                    {
                        throw;
                    }
                    this.dmethod_3936(arg_0, sayıInt_);
                }
            }
            if (arg_1.prop_10 != null)
            {
                IEnumerable <KeyValuePair <object, object> > enumerable = arg_1.prop_10(obje_0);
                if (enumerable != null)
                {
                    foreach (KeyValuePair <object, object> keyValuePair in enumerable)
                    {
                        Class_349 arg_7   = this.cmethod_3904(keyValuePair.Key);
                        Class_349 class_2 = this.cmethod_3904(keyValuePair.Value);
                        bool      flag;
                        string    str_ = this.vmethod_3935(arg_0, keyValuePair.Key, arg_7, out flag);
                        if (this.lmethod_3908(keyValuePair.Value, null, class_2, arg_1, arg_2))
                        {
                            arg_0.gmethod_2013(str_);
                            this.xmethod_3911(arg_0, keyValuePair.Value);
                        }
                        else if (this.smethod_3910(arg_0, keyValuePair.Value, null, class_2, arg_1, arg_2))
                        {
                            arg_0.gmethod_2013(str_);
                            this.dmethod_3906(arg_0, keyValuePair.Value, class_2, null, arg_1, arg_2);
                        }
                    }
                }
            }
            arg_0.lmethod_2008();
            this.field_2.RemoveAt(this.field_2.Count - 1);
            this.dmethod_3916(arg_0, arg_1, obje_0);
        }
コード例 #2
0
 // Token: 0x06001552 RID: 5458 RVA: 0x00065B7C File Offset: 0x00063D7C
 private bool lmethod_3918(Class_296 arg_0, object obje_0, Class_350 arg_1, Class_454 arg_2, Class_454 arg_3, out Class_349 arg_4, out object arg_5)
 {
     if (!arg_3.prop_10 && arg_3.prop_11 && this.kmethod_3937(arg_0, arg_3, obje_0) && this.lmethod_3938(arg_0, arg_3, obje_0))
     {
         if (arg_3.prop_0 == null)
         {
             arg_3.prop_0 = this.field_3.field_11.tmethod_3542(arg_3.prop_7);
         }
         arg_5 = arg_3.prop_5.pmethod_2309(obje_0);
         arg_4 = (arg_3.prop_0.field_7 ? arg_3.prop_0 : this.cmethod_3904(arg_5));
         if (this.pmethod_3909(arg_5, arg_3))
         {
             if (this.lmethod_3908(arg_5, arg_3, arg_4, arg_1, arg_2))
             {
                 arg_3.xmethod_3701(arg_0);
                 this.xmethod_3911(arg_0, arg_5);
                 return(false);
             }
             if (!this.smethod_3910(arg_0, arg_5, arg_3, arg_4, arg_1, arg_2))
             {
                 return(false);
             }
             if (arg_5 == null)
             {
                 Class_464 class_  = arg_1 as Class_464;
                 Class_364 class_2 = arg_3.field_0 ?? (((class_ != null) ? class_.prop_1 : null) ?? Class_364.Default);
                 if (class_2 == Class_364.Always)
                 {
                     throw Class_417.gmethod_3103(null, arg_0.prop_3, "Cannot write a null value for property '{0}'. Property requires a value.".FormatWith(CultureInfo.InvariantCulture, arg_3.prop_1), null);
                 }
             }
             return(true);
         }
     }
     arg_4 = null;
     arg_5 = null;
     return(false);
 }