Пример #1
0
        public MessageTest(Type instance)
        {
            //Discarded unreachable code: IL_0002, IL_0006
            //IL_0003: Incompatible stack heights: 0 vs 1
            //IL_0007: Incompatible stack heights: 0 vs 1
            SingletonReader.PushGlobal();
            base._002Ector(instance);
            _ErrorProperty = (ParameterFilterResolver)2;
            m_GlobalTest   = (base._0003().IsArray || (_InstanceProperty.CallReader() && _InstanceProperty.GetGenericTypeDefinition().FullName == "System.Linq.EmptyPartition`1"));
            bool forcedef;
            Type _0004;

            if (this._0002())
            {
                _ProductTest      = ResolverErrorFilter.EnableReader(base._0002());
                composerProperty  = true;
                _AlgoTest         = typeof(List <>).MakeGenericType(this._0001());
                forcedef          = true;
                m_InterceptorTest = (base._0003().IsArray&& base._0002().GetArrayRank() > 1);
            }
            else if (typeof(IList).IsAssignableFrom(_InstanceProperty))
            {
                if (ResolverErrorFilter.FillReader(_InstanceProperty, typeof(ICollection <>), out _AlgoTest))
                {
                    _ProductTest = _AlgoTest.GetGenericArguments()[0];
                }
                else
                {
                    _ProductTest = ResolverErrorFilter.EnableReader(_InstanceProperty);
                }
                if (_InstanceProperty == typeof(IList))
                {
                    _0002(typeof(List <object>));
                }
                if (this._0001() != null)
                {
                    _TemplateTest = ObserverIteratorMapping.ManageTest(_InstanceProperty, this._0001());
                }
                composerProperty = ResolverErrorFilter.RunReader(_InstanceProperty, typeof(ReadOnlyCollection <>));
                forcedef         = true;
            }
            else if (ResolverErrorFilter.FillReader(_InstanceProperty, typeof(ICollection <>), out _AlgoTest))
            {
                _ProductTest = _AlgoTest.GetGenericArguments()[0];
                if (ResolverErrorFilter.OrderReader(_InstanceProperty, typeof(ICollection <>)) || ResolverErrorFilter.OrderReader(_InstanceProperty, typeof(IList <>)))
                {
                    _0002(typeof(List <>).MakeGenericType(this._0001()));
                }
                if (ResolverErrorFilter.OrderReader(_InstanceProperty, typeof(ISet <>)))
                {
                    _0002(typeof(HashSet <>).MakeGenericType(this._0001()));
                }
                _TemplateTest = ObserverIteratorMapping.ManageTest(_InstanceProperty, this._0001());
                forcedef      = true;
                _WrapperTest  = true;
            }
            else if (ResolverErrorFilter.FillReader(_InstanceProperty, typeof(IEnumerable <>), out _0004))
            {
                _ProductTest = _0004.GetGenericArguments()[0];
                if (ResolverErrorFilter.OrderReader(base._0002(), typeof(IEnumerable <>)))
                {
                    _0002(typeof(List <>).MakeGenericType(this._0001()));
                }
                _TemplateTest = ObserverIteratorMapping.ManageTest(_InstanceProperty, this._0001());
                StartClient(_InstanceProperty);
                if (_InstanceProperty.CallReader() && _InstanceProperty.GetGenericTypeDefinition() == typeof(IEnumerable <>))
                {
                    _AlgoTest        = _0004;
                    composerProperty = false;
                    _WrapperTest     = false;
                    forcedef         = true;
                }
                else
                {
                    _AlgoTest        = typeof(List <>).MakeGenericType(this._0001());
                    composerProperty = true;
                    _WrapperTest     = true;
                    forcedef         = _0006();
                }
            }
            else
            {
                forcedef     = false;
                _WrapperTest = true;
            }
            _0001(forcedef);
            if (this._0001() != null && ParamRequestStrategy.CalcIssuer(_InstanceProperty, this._0001(), out Type _00042, out GDBD.Specifications.AdapterClassSpec <object> _0005))
            {
                _0002(_00042);
                m_ExpressionTest = _0005;
                composerProperty = true;
                _0001(forcedef: true);
            }
        }