Zachowuję trochę kodu C# 2.0, a programista używa wzorca do czytania zbioru obiektów biznesowych, otwierając obiekt DataReader, a następnie przekazując go do konstruktora obiektu. Nie widzę w tym nic złego, ale wydaje mi się to złe. Czy to jest w porządku?Czy można przekazać obiekt DataReaders do konstruktorów?
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);
}
Mój przykład nie był jasny, ale zakładam, że MyObject jest osobną klasą. – Sisiutl
Możesz zmienić swój kod, aby stał się klasą ... :) –