重写方法时
本文关键字:方法 重写 | 更新日期: 2023-09-27 18:04:17
在c#中重写方法时,最好在base.OverridenMethodName()
之前还是之后实现自己的逻辑?
你可以在reflector中检查这些东西。框架在InternalOnNavigatedTo方法中完成它的工作,该方法调用空的OnNavigatedTo虚拟方法:
protected virtual void OnNavigatedTo(NavigationEventArgs e) { }
你可以删除那行,它没有作用,但这不是一般规则。如果你不知道基函数是做什么的,把调用留在那里。
因此,取决于基类的功能是什么,您需要决定将代码放在哪里。在调用基方法之前或之后。
所以你说了算。检查基库中是否有任何琐碎的功能,并根据这些功能决定位置。
没有"最好"。
base.OverrideMethodName
被设计为在更专门的代码之前调用吗?
它被设计为被命名吗?
它被设计成可以从更专门的版本调用吗?
如果你是基类的所有者,那么这一切都取决于你的要求。
恕我直言,从纯粹的逻辑角度来看,在方法开始之前调用它可能会"更清晰"。
但这完全取决于你的需要,以及基方法和重写方法是什么:根据这一点,你可以在开头、中间、结尾调用它,或者根本不调用它!