添加到ICollection

时间:2011-10-18 14:18:15

标签: c# icollection

我目前正在编写一个C#项目,我需要对项目进行单元测试。对于我需要进行单元测试的方法之一,我使用ICollection,该ICollection通常从列表框的选定项中填充。

当我为方法创建单元测试时,它会创建行

ICollection icollection = null; //Initialise to an appropriate value

如何创建此ICollection的实例和项目集合?

5 个答案:

答案 0 :(得分:29)

ICollection是一个接口,您无法直接实例化它。您需要实例化一个实现ICollection的类;例如,List<T>。此外,ICollection interface没有Add方法 - 您需要为此实现IListIList<T>的内容。

示例:

List<object> icollection = new List<object>();
icollection.Add("your item here");

答案 1 :(得分:4)

List<Object> list = new List<Object>();
list.Add(object1);
list.Add(object2);
// etc...

ICollection collection = list;
// further processing of collection here.

与某些评论相反,IList<T>确实实施了ICollection,至少据我所知。

答案 2 :(得分:1)

假设你有一个字符串集合,那么代码将是:

ICollection<string> test = new Collection<string>();
test.Add("New Value");

答案 3 :(得分:0)

我相信你需要先将ICollection接口继承到一个新类中才能使用它。

How to implement ICollection

答案 4 :(得分:0)

您可以做的是创建一个实现ICollection的类型,然后在测试中使用它。 List或Collection可用于创建对象的实例。我想另一个问题是列表框的项目是什么类型。使用.Add(...)方法将项添加到List或Collection非常简单。

List<T> list = new List<T>();
list.Add(item_from_your_list_box);
list.Add(item2_from_your_list_box);

你需要对这个系列做些更具体的事情吗?