// using System.Collections; // // namespace LibMatrix.EventTypes; // // public interface IMatrixEventCollection : IEnumerable> where T : MatrixEventContent { // // } // public class MatrixEventCollection : IMatrixEventCollection, IList { // private IList> _listImplementation; // public IEnumerator> GetEnumerator() => _listImplementation.GetEnumerator(); // // IEnumerator IEnumerable.GetEnumerator() => ((IEnumerable)_listImplementation).GetEnumerator(); // // public void Add(MatrixEvent item) => _listImplementation.Add(item); // // public void Clear() => _listImplementation.Clear(); // // public bool Contains(MatrixEvent item) => _listImplementation.Contains(item); // // public void CopyTo(MatrixEvent[] array, int arrayIndex) => _listImplementation.CopyTo(array, arrayIndex); // // public bool Remove(MatrixEvent item) => _listImplementation.Remove(item); // // public int Count => _listImplementation.Count; // // public bool IsReadOnly => _listImplementation.IsReadOnly; // // public int IndexOf(MatrixEvent item) => _listImplementation.IndexOf(item); // // public void Insert(int index, MatrixEvent item) => _listImplementation.Insert(index, item); // // public void RemoveAt(int index) => _listImplementation.RemoveAt(index); // // public MatrixEvent this[int index] { // get => _listImplementation[index]; // set => _listImplementation[index] = value; // } // } // public class MatrixEventCollection : IMatrixEventCollection, IList> where T : MatrixEventContent { // //TODO: implement // // private IList> _listImplementation = new List>(); // public IEnumerator> GetEnumerator() => _listImplementation.GetEnumerator(); // // IEnumerator IEnumerable.GetEnumerator() => ((IEnumerable)_listImplementation).GetEnumerator(); // // public void Add(MatrixEvent item) => _listImplementation.Add(item); // // public void Clear() => _listImplementation.Clear(); // // public bool Contains(MatrixEvent item) => _listImplementation.Contains(item); // // public void CopyTo(MatrixEvent[] array, int arrayIndex) => _listImplementation.CopyTo(array, arrayIndex); // // public bool Remove(MatrixEvent item) => _listImplementation.Remove(item); // // public int Count => _listImplementation.Count; // // public bool IsReadOnly => _listImplementation.IsReadOnly; // // public int IndexOf(MatrixEvent item) => _listImplementation.IndexOf(item); // // public void Insert(int index, MatrixEvent item) => _listImplementation.Insert(index, item); // // public void RemoveAt(int index) => _listImplementation.RemoveAt(index); // // public MatrixEvent this[int index] { // get => _listImplementation[index]; // set => _listImplementation[index] = value; // } // }a