/// <summary> /// 获取或设置指定位置的项目。 /// </summary> /// <param name="index"></param> /// <exception cref="ArgumentOutOfRangeException" /> /// <returns></returns> public XspfTrack this[int index] { get { return(new XspfTrack(XEle.Elements("track").ElementAt(index))); } set { if (index == 0) { try { XEle.Element("track").Remove(); } catch (NullReferenceException) { throw new ArgumentOutOfRangeException("index"); } XEle.AddFirst(value.XEle); } else { XElement prev = XEle.Elements("track").ElementAt(index - 1); try { prev.ElementsAfterSelf("track").First().Remove(); } catch (NullReferenceException) { throw new ArgumentOutOfRangeException("index"); } prev.AddAfterSelf(value.XEle); } } }
/// <summary> /// 在指定位置插入新的项目。 /// </summary> /// <param name="index">要插入的位置</param> /// <param name="item">要插入的项目</param> /// <exception cref="ArgumentOutOfRangeException"/> public void Insert(int index, XspfTrack item) { if (index == 0) { XEle.AddFirst(item.XEle); } else { XElement prev = XEle.Elements("track").ElementAt(index - 1); prev.AddAfterSelf(item.XEle); } }