Я хочу создать обслуживаемый код, но эта ситуация наследования вызывает у меня проблемы.
Проблема связана с моим вторым вспомогательным классом базы данных с именем 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 = ....;
}