4 using System.Collections;
5 using System.Collections.Generic;
6 using System.Collections.Specialized;
7 using System.ComponentModel;
9 namespace SiliconStudio.Presentation.Collections
21 private readonly
object syncRoot =
new object();
30 list.PropertyChanged += ListPropertyChanged;
31 list.CollectionChanged += ListCollectionChanged;
35 public object this[
int index] {
get {
return list[index]; } set { list[index] = (T)value; } }
38 T
IList<T>.this[
int index] {
get {
return list[index]; } set { list[index] = value; } }
41 public bool IsReadOnly {
get {
return list.IsReadOnly; } }
44 public bool IsFixedSize {
get {
return false; } }
47 public int Count {
get {
return list.Count; } }
50 public object SyncRoot {
get {
return syncRoot; } }
53 public bool IsSynchronized {
get {
return false; } }
64 return list.GetEnumerator();
70 return list.GetEnumerator();
74 public void CopyTo(Array array,
int index)
76 list.CopyTo((T[])array, index);
80 public void CopyTo(T[] array,
int arrayIndex)
82 list.CopyTo(array, arrayIndex);
86 public int Add(
object value)
89 return list.Count - 1;
93 public void Add(T item)
101 return list.Contains((T)value);
107 return list.Contains(item);
119 return list.IndexOf((T)value);
125 return list.IndexOf(item);
129 public void Insert(
int index,
object value)
131 list.Insert(index, (T)value);
137 list.Insert(index, item);
143 list.Remove((T)value);
149 return list.Remove(item);
155 list.RemoveAt(index);
161 return string.Format(
"{{NonGenericObservableListWrapper}} Count = {0}", Count);
164 private void ListCollectionChanged(
object sender, NotifyCollectionChangedEventArgs e)
166 var handler = CollectionChanged;
175 var handler = PropertyChanged;
NonGenericObservableListWrapper(ObservableList< T > list)
Initializes a new instance of the NonGenericObservableListWrapper{T} class.
void CopyTo(T[] array, int arrayIndex)
PropertyChangedEventHandler PropertyChanged
int IndexOf(object value)
void CopyTo(Array array, int index)
IEnumerator GetEnumerator()
void Insert(int index, object value)
NotifyCollectionChangedEventHandler CollectionChanged
bool Contains(object value)
void Insert(int index, T item)
void Remove(object value)
override string ToString()