2011-01-30 16 views
8

उदाहरण के लिए, enumerable.ToList() बनाम list.AsReadOnly().NET में, AsFoo() और ToFoo() के बीच क्या अंतर है?

मैं पूछता हूं क्योंकि मुझे एक कक्षा मिली है जो IEnumerable<T> को IDataReader में बदल देती है। मुझे आश्चर्य है कि विस्तारित विधि जो इसे बनाता है ToDataReader या AsDataReader होना चाहिए।

उत्तर

16

As* विधियां स्रोत को पुनरारंभ किए बिना एक अलग इंटरफ़ेस लौटाती हैं, जबकि To* इसके ऊपर पुनरावृत्त करती है और एक नई वस्तु बनाती है। के रूप में आप से अधिक स्रोत पुनरावृति नहीं हो, तब DataReader बनाने

आपके मामले में, AsDataReader, सही विकल्प होना चाहिए, लेकिन उपयोगकर्ता उस पर तरीकों कॉल केवल जब।

+2

यही मैंने सोचा; पुष्टि के लिए धन्यवाद। –

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