我正在維護一些C#2.0代碼,程序員通過打開一個DataReader然後將它傳遞給該對象的構造函數來使用一種讀取業務對象集合的模式。我看不出有什麼明顯的錯誤,但對我來說感覺很糟糕。這可以嗎?將DataReader傳遞給構造函數可以嗎?
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 2009-05-19 22:59:32
你可以改變你的代碼,使其成爲一個類:) :) – 2009-05-19 23:02:56