我目前正在编写一个 C# 项目,我需要对该项目进行单元测试。对于我需要进行单元测试的方法之一,我使用了通常从列表框的选定项目中填充的 ICollection。
当我为该方法创建单元测试时,它会创建该行
ICollection icollection = null; //Initialise to an appropriate value
如何创建此 ICollection 的实例和集合中的项目?
我目前正在编写一个 C# 项目,我需要对该项目进行单元测试。对于我需要进行单元测试的方法之一,我使用了通常从列表框的选定项目中填充的 ICollection。
当我为该方法创建单元测试时,它会创建该行
ICollection icollection = null; //Initialise to an appropriate value
如何创建此 ICollection 的实例和集合中的项目?
ICollection
是一个接口,不能直接实例化。您需要实例化一个实现的类ICollection
;例如,List<T>
。此外,ICollection
接口没有Add
方法——你需要一些实现IList
或实现的东西IList<T>
。
例子:
List<object> icollection = new List<object>();
icollection.Add("your item here");
List<Object> list = new List<Object>();
list.Add(object1);
list.Add(object2);
// etc...
ICollection collection = list;
// further processing of collection here.
与一些评论相反,IList<T>
确实实现ICollection
了,至少据我所知。
假设您将有一个字符串集合,那么代码将是:
ICollection<string> test = new Collection<string>();
test.Add("New Value");
我相信您需要将ICollection
接口继承到一个新类中才能使用它。
您可以做的是创建一个实现 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);
你需要对这个系列做一些更具体的事情吗?