我想創建可維護的代碼,但這種繼承情況正在導致我的問題。繼承的類泥潭,如何使這個可維護的代碼
問題是我的第二個數據庫輔助類名爲InitUserExtension。
由於UserExtension從用戶繼承,我必須確保我鏡像我的InitUser助手任何更改到InitUserExtension。
我真的不喜歡這個,因爲它容易出錯,有什麼解決方法?
我的類定義:
public class User
{
public string Name {get; set; }
public string Age { get; set; }
}
public class UserExtension : User
{
public string Lastname {get; set; }
public string Password {get; set; }
}
我的數據庫助手:
public static SqlDataReader InitUser(SqlDataReader dr)
{
User user = new User();
user.Name = Convert.ToString(dr["name"]);
user.Age ...
}
public static SqlDataReader InitUserExtension(SqlDataReader dr)
{
UserExtension user = new UserExtension();
// note: mirror attributes from User
user.Name = Convert.ToString(dr["name"]);
user.Age ...
user.Lastname = Convert.ToString(dr["lastname"]);
user.Password = ....;
}
我有一個parseRow方法,那麼我可以告訴它我想它要創建的對象,並賦值(從讀者或tablerow的) –
2008-11-27 14:52:30
@Andrew Bullock - 就像我剛剛添加的編輯一樣? – 2008-11-27 14:57:20