मैं कुछ सी # 2.0 कोड बनाए रख रहा हूं, और प्रोग्रामर डेटा रीडर खोलकर और फिर ऑब्जेक्ट के कन्स्ट्रक्टर को पास करके व्यावसायिक वस्तुओं के संग्रह को पढ़ने के पैटर्न का उपयोग करता है। मैं इसके साथ कुछ भी गलत नहीं देख सकता, लेकिन यह मेरे लिए बुरा लगता है। क्या यह ठीक है?क्या रचनाकारों को डेटा रीडर पास करना ठीक है?
private static void GetObjects()
{
List<MyObject> objects = new List<MyObject>();
string sql = "Select ...";
SqlConnection connection = GetConnection();
SqlCommand command = new SqlCommand(sql, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
while (reader.Read())
objects.Add(new MyObject(reader));
reader.Close();
}
public MyObject(SqlDataReader reader)
{
field0 = reader.GetString(0);
field1 = reader.GetString(1);
field2 = reader.GetString(2);
}
मेरा उदाहरण स्पष्ट नहीं था, लेकिन मान लें कि MyObject एक अलग वर्ग है। – Sisiutl
आप इसे कक्षा बनाने के लिए अपना कोड बदल सकते हैं ... :) –