问题:我想在类的构造函数中将数据库数据填充到类实例的属性和字段中。
public class Profile : ProfileOverview
{
public Profile()
{ }
public Profile(long ProfileId)
{
using (System.Data.IDbCommand cmd = Settings.DAL.CreateCommand("SELECT * FROM Profiles WHERE ProfileId = @__in_profileid"))
{
Settings.DAL.AddParameter(cmd, "__in_profileid", ProfileId);
this = Settings.DAL.GetClass<Models.Profile>(cmd);
} // End Using cmd
} // End Constructor
... (some properties and fields)
}
问题是,编译器说它不能分配“this”,因为它是写保护的。我是否真的有必要更改我的数据库抽象层以将“this”传递给它,或者我可以以某种方式做到这一点?
问题是,GetClass
调用Activator.CreateInstance
创建 的新实例Models.Profile
,我更愿意保持这种方式(因为 GetClass 是一个函数而不是一个过程)。