Добавить в ICollection
В настоящее время я пишу проект С#, и мне нужно выполнить модульное тестирование для проекта. Для одного из методов, которые мне нужны для unit test, я использую ICollection, который обычно заполняется из выбранных элементов списка.
Когда я создаю unit test для метода, он создает строку
ICollection icollection = null; //Initialise to an appropriate value
Как я могу создать экземпляр этого ICollection и элемента коллекции?
Ответы
Ответ 1
ICollection
- это интерфейс, вы не можете его напрямую создавать. Вам нужно создать экземпляр класса, который реализует ICollection
; например, List<T>
. Кроме того, ICollection
интерфейс не имеет метода Add
- вам понадобится что-то, что реализует IList
или IList<T>
для этого.
Пример:
List<object> icollection = new List<object>();
icollection.Add("your item here");
Ответ 2
List<Object> list = new List<Object>();
list.Add(object1);
list.Add(object2);
// etc...
ICollection collection = list;
// further processing of collection here.
Вопреки некоторым комментариям, IList<T>
реализует ICollection
, по крайней мере, насколько я могу судить.
Ответ 3
Скажем, у вас будет коллекция строк, тогда код будет:
ICollection<string> test = new Collection<string>();
test.Add("New Value");
Ответ 4
Я считаю, что вам нужно наследовать интерфейс ICollection
в новый класс, прежде чем вы сможете его использовать.
Как реализовать ICollection
Ответ 5
Что вы можете сделать, это создать тип, который реализует ICollection, и оттуда использовать его при тестировании. Список или Коллекция будут работать для создания экземпляра объекта. Я предполагаю, что другой вопрос будет состоять в том, какие типы являются элементами списка. Добавление элементов в список или сборку довольно просто, используя метод .Add(...).
List<T> list = new List<T>();
list.Add(item_from_your_list_box);
list.Add(item2_from_your_list_box);
Есть ли что-то более конкретное, что вам нужно сделать с этой коллекцией?