我只需要知道listview用于存储其数据的集合类型。我在文档中看到它是自己特殊的集合(ListViewItemCollection)但是,这是另一种集合的分支还是它完全是ListViews独有的?
答案 0 :(得分:0)
类ListViewItemCollection
被定义为ListView
的内部类。
签名如下:
public class ListViewItemCollection : IList, ICollection, IEnumerable
{
...
}
在内部,它使用ListView.ListViewItemCollection.IInnerList
来保存实际元素,并由ListViewNativeItemCollection
实现。
具有以下特征:
internal class ListViewNativeItemCollection : ListViewItemCollection.IInnerList
{
...
}
IInnerList
看起来像这样:
internal interface IInnerList
{
int Count { get; }
bool OwnerIsVirtualListView { get; }
bool OwnerIsDesignMode{ get; }
ListViewItem this[int index] { get; set; }
ListViewItem Add(ListViewItem item);
void AddRange(ListViewItem[] items);
void Clear();
bool Contains(ListViewItem item);
void CopyTo(Array dest, int index);
IEnumerator GetEnumerator();
int IndexOf(ListViewItem item);
ListViewItem Insert(int index, ListViewItem item);
void Remove(ListViewItem item);
void RemoveAt(int index);
}
看起来这是仿制前的所有日子。