我正在尝试在Object X
中使用Load
方法返回Object X Base Class
方法,然后将Load
方法返回的数据分配给Object X
我无法弄清楚如何做到这一点。这就是我认为可行的方法:
public class ObjectX : BaseClass {
public int testProperty {get; set;}
public ObjectX(Guid id) {
base.Load(id);
}
}
public class BaseClass {
public Load(Guid id) {
var dbData = // Loads ObjectX from db
return dbData;
}
}
当我运行此代码时,数据会完美加载,但不会向Object X
分配任何内容。 dbData正确加载testProperty
,但当它传递给ObjectX
时,所有数据都会消失。我觉得我错过了一些简单的事情。
答案 0 :(得分:1)
那是不可能的。构造函数不能覆盖自身。
考虑一下:
dbData是什么类型的?
如果它不是ObjectX类型,则无法将其分配给ObjectX的实例。
如果它是ObjectX类型,你需要在某个地方构建它,然后你就会有一个无限循环。
您可以做的是从数据库加载数据,然后手动将数据复制到您的属性中。