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); } }
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); }