我有一个名为User的对象,其属性包括用户名、年龄、密码、电子邮件等。
我在我的ado.net代码中这样初始化这个对象:
现在假设我创建了一个继承自User的新对象,例如:
现在我需要创建一个加载用户资料的方法,所以目前我正在进行以下操作:
这句话的英译中是:“有没有更面向对象的方法,这样我就不必在LoadUserProfile()中从LoadUser()中复制我的代码?”“我希望我能这样做:”
这种事情能做到吗?
我在我的ado.net代码中这样初始化这个对象:
private User LoadUser(SqlDataReader reader)
{
User user = new User();
user.ID = (int)reader["userID"];
// etc
}
现在假设我创建了一个继承自User的新对象,例如:
public class UserProfile : User
{
public string Url {get;set;}
}
现在我需要创建一个加载用户资料的方法,所以目前我正在进行以下操作:
public UserProfile LoadUserProfile(SqlDataReader reader)
{
UserProfile profile = new UserProfile();
profile.ID = (int)reader["userID"];
// etc. copying the same code from LoadUser(..)
profile.Url = (string) reader["url"];
}
这句话的英译中是:“有没有更面向对象的方法,这样我就不必在LoadUserProfile()中从LoadUser()中复制我的代码?”“我希望我能这样做:”
UserProfile profile = new UserProfile();
profile = LoadUser(reader);
// and then init my profile related properties
这种事情能做到吗?