Добавить в коллекцию ICollection
в настоящее время я пишу проект C#, и мне нужно сделать модульное тестирование для проекта. Для одного из методов, которые мне нужны для модульного теста, я использую ICollection, который обычно заполняется из выбранных элементов списка.
когда я создаю модульный тест для метода, он создает строку
ICollection icollection = null; //Initialise to an appropriate value
Как создать экземпляр этой коллекции ICollection и элемент коллекции?
5 ответов
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<T> list = new List<T>();
list.Add(item_from_your_list_box);
list.Add(item2_from_your_list_box);
есть ли что-то более конкретное, что вам нужно сделать с этой коллекцией?