你好,我正在與統一3D合作,使我與lidgren自己的網絡。有可能禁止childclass定義一個類?
我也有一次這個問題,當我爲我做了一個自定義的GUI但沒有大問題。對其他開發者的小警告沒有多大幫助。
但是這次我需要更好的解決方案。
可以說我有一個BaseClass的和兒童:
public class BaseClass : MonoBehavior {
void Update() {
//my connectionhandler
}
}
public class Child : BaseClass {
// forbid it to define Update
void Update() {
}
// or let him use it but without writing base.Update() it should still use BaseClass Update()
}
正如你這兩類看到我有無效更新()。這個問題是,如果孩子使用無效更新以及基地更新不再被調用。有可能避免它。示例如果base已經定義了它,限制對Update方法的訪問? 或者可以讓無效更新的孩子使用的定義(),但基類也應該能夠用自己的更新()(背景工作:P)
其他開發人員不應該使用每次base.Update() 。我相信他們會忘記這麼多次:)
你會添加密封到meathod –
你有沒有考慮添加事件的更新方法,而不是?允許消費者添加BeforeUpdate和AfterUpdate事件處理程序來運行自定義代碼,但Update本身始終會運行? – Eris
不,如果我那麼我會讓他們使用base.Update():)。問題是統一本身。我沒有注意到Update()在其他方面工作爲自定義函數。我無法阻止它。我正在考慮線程化。但它並不安全 – MaZy