2011-10-18 8 views
12

में जोड़ें मैं वर्तमान में एक सी # प्रोजेक्ट लिख रहा हूं और मुझे परियोजना के लिए यूनिट परीक्षण करने की आवश्यकता है। यूनिट परीक्षण के लिए मुझे आवश्यक तरीकों में से एक के लिए मैं एक आईसीओलेक्शन का उपयोग करता हूं जो आम तौर पर सूची बॉक्स के चयनित आइटमों से पॉप्युलेट होता है।आईसीओलेक्शन

मैं विधि यह लाइन

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

मैं इस ICollection का एक उदाहरण और संग्रह के लिए एक आइटम कैसे बना सकते हैं बनाता है के लिए एक इकाई परीक्षण बनाते हैं?

उत्तर

25

ICollection एक इंटरफेस है, तो आप सीधे का दृष्टांत नहीं कर सकते। आपको ICollection लागू करने वाली कक्षा को तुरंत चालू करने की आवश्यकता होगी; उदाहरण के लिए, List<T>। इसके अलावा, ICollection interface में Add विधि नहीं है - आपको उस चीज़ की आवश्यकता होगी जो IList या IList<T> लागू करता है।

उदाहरण:

List<object> icollection = new List<object>(); 
icollection.Add("your item here"); 
+0

लेकिन सूची आईसीओलेक्शन लागू नहीं करती है। बोर्डी ने आईसीलेक्शन के लिए कहा। –

+0

@ हंगरी 1234 'सूची ' लागू 'IList', जो' आईसीओलेक्शन 'के वंशज हैं। तो 'सूची ' एक 'आईसीओलेक्शन' भी है। – Donut

+2

जिस तरह से @ डोनट ने टिप्पणी लिखी है, मुझे लगता है कि इसके अंत में QED की आवश्यकता है। – DFTR

0

मान लीजिए कि आप तार का एक संग्रह होगा चलो, तो कोड होगा:

ICollection<string> test = new Collection<string>(); 
test.Add("New Value"); 
0

मैं तुम्हें एक नया वर्ग में ICollection इंटरफ़ेस वारिस इससे पहले कि आप उपयोग कर सकते हैं की जरूरत है विश्वास करते हैं।

How to implement ICollection

0

आप क्या कर सकते हैं एक प्रकार है कि ICollection को लागू करता है और वहाँ से अपने परीक्षण में यह का इस्तेमाल करते हैं पैदा करते हैं। ऑब्जेक्ट का उदाहरण बनाने के लिए एक सूची या संग्रह काम करेगा। मुझे लगता है कि एक और सवाल सूची बॉक्स के आइटम किस प्रकार होंगे। सूची या संग्रह में आइटम जोड़ना सिर्फ अजीब (...) विधि का उपयोग कर बहुत छोटा है।

List<T> list = new List<T>(); 
list.Add(item_from_your_list_box); 
list.Add(item2_from_your_list_box); 

क्या इस संग्रह के साथ आपको कुछ और विशिष्ट करने की आवश्यकता है?

3
List<Object> list = new List<Object>(); 
list.Add(object1); 
list.Add(object2); 
// etc... 

ICollection collection = list; 
// further processing of collection here. 

कुछ टिप्पणियों के विपरीत, IList<T>ICollection को लागू करता है, कम से कम जहाँ तक मैं बता सकता है।

संबंधित मुद्दे