假設我在我的基類中有這個方法。如何強制派生方法遵循某種模式?
public virtual void Close()
{
if (!IsOpen) return;
Dispose();
RaiseClosed();
}
我想子類自由修改的方法,但要確保它調用Dispose()
第一,然後再調用RaiseClosed()
。他們可以在之前,之後或之間做任何事情。
我該如何強制兒童班在某些時候撥打Dispose()
和RaiseClosed()
?
編輯:我想我沒有很好地澄清這個問題。派生的方法可能會在Dispose()
之前/之後和RaiseClosed()
之前/之後執行某些操作。因此,確保按順序呼叫Dispose()
和RaiseClosed()
是不夠的,因爲派生的方法可能會在兩者之間或甚至在RaiseClosed()
之後執行某些操作。
你只是在你的孩子中重寫該方法。在新方法中,您可以隨時調用Dispose()和RaiseClosed()。 – athabaska
你知道一句老話:「如果你想要的東西做對,做你自己。」(http://en.wikipedia.org/wiki/Charles-Guillaume_%C3%89tienne)。 –