我有一個不同的Line類的繼承樹,從抽象Line-classes開始。我希望能夠將每一行與每一行相交,有時候,我也不知道任何運行時類型,例如,我打電話Line.Intersect(Line)(所以我需要雙重調度)。這將總是調用被覆蓋的最爲抽象的過載 - 方法,例如, Circle.Intersect(Line)而不是Circle.Intersect(actualType)。下面是一些示例代碼: c
的基本上不是這樣的: context1.a
context1.b()
context2.a
context2.b()
我想寫: with context1():
a
b()
with context2():
a
b()
理想我會切換出「當地人大辭典」與自定義__get__對象做到這一點,但我我不知道該怎麼做,或者甚至有可能。 爲什麼?:我已