3
有沒有什麼辦法可以延遲調用超類的構造函數,以便您可以先操作變量?有沒有辦法在傳遞給基類之前處理傳遞給子類構造函數的變量?
例如,
public class ParentClass
{
private int someVar;
public ParentClass(int someVar)
{
this.someVar = someVar;
}
}
public class ChildClass : ParentClass
{
public ChildClass(int someVar) : base(someVar)
{
someVar = someVar + 1
}
}
我希望能夠發送新價值someVar
(someVar + 1)基類的構造函數,而不是一個到ChildClass
構造函數。有沒有辦法做到這一點?
謝謝
馬特
yup。作爲一個便箋,我已經看到一些瘋狂的東西正在基地ctor。 – 2010-04-20 05:48:49
它要複雜得多......包括髮布到url,返回html,遍歷dom,並抓取一個字符串。我不能使這個方法是靜態的,並且從基地調用它,因爲每個子類都有一個不同的抓取字符串的實現,而且基類沒有辦法告訴哪一個要調用。 我可以創建一個初始化方法,爲基類設置所有的變量......但是這就爲所有變量留下了一個setter。 – Matt 2010-04-20 06:17:50
我懷疑把你剛剛在構造函數中描述的內容放在哪裏是個好主意。只要做好工作,計算任何事情,一旦完成將價值傳遞給構造函數,就把這個邏輯放到其他地方。 – 2010-04-20 06:19:30