2012-11-30 104 views
1

我在這裏用C#編寫的這個Windows服務類。它有一個名爲Stop的成員函數,但顯然其基類ServiceBase也具有Stop函數。Windows服務中的覆蓋停止

ServiceBase.Stop()調用OnStop它在服務中被覆蓋,再次在其自己的對象中調用this.Stop()

現在VS發出警告: Server.Stop()隱藏繼承成員System.ServiceProcess.ServiceBase.Stop()。使用新的關鍵字,如果隱藏意圖

我可以只使用新的而不改變服務的行爲?

回答

1

如果你不打算覆蓋基地Stop()方法,爲什麼你不重命名它,以避免任何歧義?

如果您希望在服務控制器導致調用Stop()之前或之後執行某些操作,請覆蓋它 - 然後根據需要在自己的代碼之前或之後調用base.Stop()