我試圖編寫代碼,而且我總是返回對象本身,因此我可以繼續鏈接。像這樣如何在C中鏈接方法時進行轉換#
object.SetThis().SetThat().SetThisThirdThing().setThisFourthThing();
我在我的所有方法中都返回了這個值,所以我可以繼續這樣做。但我的一個方法是我在我的基類中創建的,當然這會返回基類。
因此,而不是public MyClass SetThat()
它返回public SuperClass SetThat()
。因爲它返回SuperClass
而不是MyClass
我不能撥打SetThisThirdThing()
,因爲基類不知道它。
那麼我該如何施展才能保持鏈條?什麼是語法?我試圖
object.SetThis().(MyClass)SetThat().SetThisThirdThing().setThisFourthThing();
還是有一種方法,使一個超類方法返回時,從子類叫做子類,而不必重寫它在所有子類?
這是所有子類共有的東西之一,所以如果我能以某種方式規避這種情況而不必在我的所有子類中重寫它,那將是非常好的。
你爲什麼不只投的第一個元素? ((MyClass)對象).SetThis()。SetThat() –
作爲參考,「點」更通常稱爲「流暢接口」。 – Mitch
@Mitch不知道這是真的,流暢的接口實際上只是[方法鏈接]的一個子集(https://en.wikipedia.org/wiki/Method_chaining) – DavidG