我目前正在编写一个C#项目,我需要对项目进行单元测试。对于我需要进行单元测试的方法之一,我使用ICollection,该ICollection通常从列表框的选定项中填充。
当我为方法创建单元测试时,它会创建行
ICollection icollection = null; //Initialise to an appropriate value
如何创建此ICollection的实例和项目集合?
答案 0 :(得分:29)
ICollection
是一个接口,您无法直接实例化它。您需要实例化一个实现ICollection
的类;例如,List<T>
。此外,ICollection
interface没有Add
方法 - 您需要为此实现IList
或IList<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
接口继承到一个新类中才能使用它。
答案 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);
你需要对这个系列做些更具体的事情吗?