爲什麼你不能通過像下面這樣的公共汽車屬性來完成它。順便說一句,你試圖有什麼是Composition
其中bar
對象是由foo
對象組成。不知道你爲什麼仍然繼承foo
呢?
public class bar : Foo
{
public int ID { get; set; }
public Foo baseinstance { get; set;}
public bar(Foo instance)
{
baseinstance = instance;
}
}
我沒有絕對的把握,但是從您發佈的代碼(特別是以下部分),感覺就像你正在嘗試,因爲你說
我期待調用基類的構造函數或constructor initializer
獲取使用父實例 實例化的子類,以設置所有繼承的變量。
public bar(Foo instance)
{
base = instance;
}
這實際上應該是
public bar(Foo instance) : base()
{
//child instance initialization
}
但是當你實例子對象的構造函數初始化將被調用和基類的意志得到第一初始化,爲了這不是需要一個無參數的構造函數的原因在子初始化之前已經初始化了基本成員。
如果在基礎參數的構造函數和孩子,那麼你可以顯式調用基類的構造
我使用的是類作爲與EF6使用實體和AFAIK EF使用一個類中的屬性,形成一個表。 baseinstance將創建一個由主鍵和外鍵鏈接的獨立表。 – Qinusty
@Qinusty,如果有幫助,請參閱編輯答案。 – Rahul