Ejemplo n.º 1
0
        public override Target this[string id]
        {
            get
            {
                Target target = null;
                if (_plusTree == null)
                {
                    return(target);
                }
                if (_quickStorage != null)
                {
                    target = _quickStorage[id];
                    if (target != null)
                    {
                        return(target);
                    }
                }
                if (_targetCache != null)
                {
                    target = _targetCache[id];
                    if (target != null)
                    {
                        return(target);
                    }
                }

                if (_plusTree.ContainsKey(id))
                {
                    target = TargetsReader.Read(_plusTree[id]);
                    if (target != null && _targetCache != null)
                    {
                        _targetCache.Add(target);
                    }
                }

                return(target);
            }
        }
Ejemplo n.º 2
0
        public static Target Read(string targetText)
        {
            if (String.IsNullOrEmpty(targetText))
            {
                return(null);
            }
            if (_settings == null)
            {
                _settings                  = new XmlReaderSettings();
                _settings.CloseInput       = true;
                _settings.ConformanceLevel = ConformanceLevel.Fragment;
            }

            Target target = null;

            StringReader textReader = new StringReader(targetText);
            XmlReader    reader     = XmlReader.Create(textReader, _settings);

            reader.MoveToContent();
            target = TargetsReader.ReadTarget(reader);
            reader.Close();

            return(target);
        }