你好,我正在与统一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