예제 #1
0
        protected int Add(object value)
        {
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }
            int index;

            Monitor.Enter(SyncRoot);
            try
            {
                FileUri item = ExtensionMethods.ConvertToFileUri(value);
                index = IndexOf(item);
                if (index < 0)
                {
                    index = _innerList.Count;
                    _innerList.Add(item);
                }
            }
            finally { Monitor.Exit(SyncRoot); }
            return(index);
        }
예제 #2
0
 object IList.this[int index]
 {
     get { return(InnerList[index].ToString()); }
     set { InnerList[index] = ExtensionMethods.ConvertToFileUri(value); }
 }
예제 #3
0
 void IList.Insert(int index, object value)
 {
     InnerList.Insert(index, ExtensionMethods.ConvertToFileUri(value));
 }
예제 #4
0
 public void Insert(int index, string item)
 {
     InnerList.Insert(index, ExtensionMethods.ConvertToFileUri(item, "item"));
 }
예제 #5
0
 public void Add(string item)
 {
     InnerList.Add(ExtensionMethods.ConvertToFileUri(item, "item"));
 }
예제 #6
0
 object IList.this[int index] {
     get { return(_innerList[index]); } set { this[index] = ExtensionMethods.ConvertToFileUri(value); }
 }