Подтвердить что ты не робот

Добавить в ICollection

В настоящее время я пишу проект С#, и мне нужно выполнить модульное тестирование для проекта. Для одного из методов, которые мне нужны для unit test, я использую ICollection, который обычно заполняется из выбранных элементов списка.

Когда я создаю unit test для метода, он создает строку

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

Как я могу создать экземпляр этого ICollection и элемента коллекции?

4b9b3361

Ответ 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);

Есть ли что-то более конкретное, что вам нужно сделать с этой коллекцией?