現在C#プロジェクトを作成しており、プロジェクトの単体テストを行う必要があります。単体テストに必要なメソッドの1つとして、通常はリストボックスの選択された項目から入力される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を実装する型を作成し、そこからテストでそれを利用することです。リストまたはコレクションは、オブジェクトのインスタンスを作成するために機能します。別の質問は、リストボックスの項目の種類は何でしょうか。リストまたはコレクションに項目を追加することは、.Add(...)メソッドを使用するだけでかなり簡単です。
List<T> list = new List<T>();
list.Add(item_from_your_list_box);
list.Add(item2_from_your_list_box);
このコレクションで行う必要がある具体的なことはありますか?