コード例 #1
0
        internal SingleFieldAccessor(PropertyInfo property, FieldDescriptor descriptor) : base(property, descriptor)
        {
            while (true)
            {
IL_10F:
                uint arg_E3_0 = 1941025569u;
                while (true)
                {
                    uint num;
                    switch ((num = (arg_E3_0 ^ 199827664u)) % 8u)
                    {
                    case 1u:
                        arg_E3_0 = (num * 3210510662u ^ 4032699640u);
                        continue;

                    case 2u:
                        goto IL_10F;

                    case 3u:
                        goto IL_116;

                    case 4u:
                    {
                        Type type;
                        __c__DisplayClass2_.defaultValue = ((descriptor.FieldType == FieldType.Message) ? null : ((type == SingleFieldAccessor.smethod_3(typeof(string).TypeHandle)) ? "" : ((type == SingleFieldAccessor.smethod_3(typeof(ByteString).TypeHandle)) ? ByteString.Empty : SingleFieldAccessor.smethod_4(type))));
                        this.clearDelegate = delegate(IMessage message)
                        {
                            __c__DisplayClass2_.__4__this.SetValue(message, __c__DisplayClass2_.defaultValue);
                        };
                        arg_E3_0 = 1884219440u;
                        continue;
                    }

                    case 5u:
                        this.setValueDelegate = ReflectionUtil.CreateActionIMessageObject(property.GetSetMethod());
                        arg_E3_0 = 2064311039u;
                        continue;

                    case 6u:
                        __c__DisplayClass2_.__4__this = this;
                        arg_E3_0 = ((SingleFieldAccessor.smethod_0(property) ? 2142081437u : 1483086867u) ^ num * 2346426732u);
                        continue;

                    case 7u:
                    {
                        Type type = SingleFieldAccessor.smethod_2(property);
                        arg_E3_0 = (num * 1124000945u ^ 3750043923u);
                        continue;
                    }
                    }
                    goto Block_5;
                }
            }
Block_5:
            return;

IL_116:
            throw SingleFieldAccessor.smethod_1(Module.smethod_35 <string>(1200568613u));
        }
コード例 #2
0
ファイル: FieldDescriptor.cs プロジェクト: drolean/Arctium-RE
        private IFieldAccessor CreateAccessor(string propertyName)
        {
            if (propertyName == null)
            {
                goto IL_06;
            }
            goto IL_E4;
            uint           arg_A7_0;
            PropertyInfo   property;
            IFieldAccessor result;

            while (true)
            {
IL_A2:
                uint num;
                switch ((num = (arg_A7_0 ^ 2720568274u)) % 12u)
                {
                case 0u:
                    arg_A7_0 = ((!this.IsMap) ? 2387454740u : 3727411354u);
                    continue;

                case 1u:
                    goto IL_FD;

                case 2u:
                    result   = new RepeatedFieldAccessor(property, this);
                    arg_A7_0 = 3190240481u;
                    continue;

                case 3u:
                    return(result);

                case 4u:
                    goto IL_101;

                case 5u:
                    result   = new SingleFieldAccessor(property, this);
                    arg_A7_0 = (num * 2866179060u ^ 1427270409u);
                    continue;

                case 6u:
                    arg_A7_0 = ((this.IsRepeated ? 2767871872u : 3251485679u) ^ num * 2633443800u);
                    continue;

                case 7u:
                    goto IL_E4;

                case 9u:
                    arg_A7_0 = (((property != null) ? 3418836970u : 3324558718u) ^ num * 1433534820u);
                    continue;

                case 10u:
                    goto IL_06;

                case 11u:
                    return(result);
                }
                break;
            }
            goto IL_12F;
IL_FD:
            return(null);

IL_101:
            throw new DescriptorValidationException(this, FieldDescriptor.smethod_0(Module.smethod_37 <string>(814437201u), new object[]
            {
                propertyName,
                this.containingType.ClrType
            }));
IL_12F:
            result = new MapFieldAccessor(property, this);
            return(result);

IL_06:
            arg_A7_0 = 2372915079u;
            goto IL_A2;
IL_E4:
            property = this.containingType.ClrType.GetProperty(propertyName);
            arg_A7_0 = 4205391919u;
            goto IL_A2;
        }