예제 #1
0
        public override object Get(IFormatReader parameter)
        {
            var element = IsElement.Default.IsSatisfiedBy(parameter);

            if (element)
            {
                var reference = GetReference(parameter);
                if (reference != null)
                {
                    var result = _maps.Get(parameter).Get(reference.Value);
                    return(result);
                }
            }

            {
                var declared = element ? Identity(parameter) : null;
                var result   = base.Get(parameter);
                var identity = declared ?? (element && result != null ? Entity(parameter, result) : null);
                if (identity != null)
                {
                    var map = _maps.Get(parameter);
                    if (map.Get(identity.Value) != result)
                    {
                        map.Assign(identity.Value, result);
                    }
                }

                return(result);
            }
        }
예제 #2
0
        public override object Get(IFormatReader parameter)
        {
            var reference = GetReference(parameter);

            if (reference != null)
            {
                var result = _maps.Get(parameter).Get(reference.Value);
                return(result);
            }

            {
                var element = parameter.Get().To <XmlReader>().NodeType != XmlNodeType.Attribute ||
                              MemberProperty.Default.Get(parameter);
                var declared = element ? Identity(parameter) : null;
                var result   = base.Get(parameter);
                var identity = declared ?? (element && result != null ? Entity(parameter, result) : null);
                if (identity != null)
                {
                    var map = _maps.Get(parameter);
                    if (map.Get(identity.Value) != result)
                    {
                        map.Assign(identity.Value, result);
                    }
                }

                return(result);
            }
        }
            public object Get(IFormatReader parameter)
            {
                var declared = Identity(parameter);
                var result   = _activator.Get(parameter);

                var identity = declared ?? (result != null ? Entity(parameter, result) : null);

                if (identity != null)
                {
                    _maps.Get(parameter).Assign(identity.Value, result);
                }
                return(result);
            }
        public override object Get(IFormatReader parameter)
        {
            var identity = GetReference(parameter);

            if (identity != null)
            {
                var reference = _maps.Get(parameter).Get(identity.Value);
                return(reference);
            }

            var result = base.Get(parameter);

            return(result);
        }
            public object Get(IFormatReader parameter)
            {
                var element = parameter.Get().To <XmlReader>().NodeType != XmlNodeType.Attribute || MemberProperty.Default.Get(parameter);

                var declared = element ? Identity(parameter) : null;
                var result   = _activator.Get(parameter);

                var identity = declared ?? (element && result != null ? Entity(parameter, result) : null);

                if (identity != null)
                {
                    _maps.Get(parameter)
                    .Assign(identity.Value, result);
                }

                return(result);
            }
            public object Get(IFormatReader parameter)
            {
                var element = !string.IsNullOrEmpty(parameter.Identifier);

                var declared = element ? Identity(parameter) : null;
                var result   = _activator.Get(parameter);

                var identity = declared ?? (element && result != null ? Entity(parameter, result) : null);

                if (identity != null)
                {
                    _maps.Get(parameter)
                    .Assign(identity.Value, result);
                }

                return(result);
            }
예제 #7
0
            public object Get(IFormatReader parameter)
            {
                var element = IsElement.Default.IsSatisfiedBy(parameter);

                var declared = element ? Identity(parameter) : null;
                var result   = _activator.Get(parameter);

                var identity = declared ?? (element && result != null ? Entity(parameter, result) : null);

                if (identity != null)
                {
                    _maps.Get(parameter)
                    .Assign(identity.Value, result);
                }

                return(result);
            }
예제 #8
0
 protected override IReferenceMap Create(IFormatReader parameter)
 => new DeferredReferenceMap(_commands.Get(parameter), _contexts.Get(parameter), _maps.Get(parameter));