【发布时间】:2023-03-11 21:26:01
【问题描述】:
我想创建可维护的代码,但是这种继承情况给我带来了问题。
问题在于我的第二个名为 InitUserExtension 的数据库帮助程序类。
由于 UserExtension 继承自 User,我必须确保将 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 = ....;
}
【问题讨论】:
标签: c# coding-style