重写方法时

本文关键字:方法 重写 | 更新日期: 2023-09-27 18:04:17

在c#中重写方法时,最好在base.OverridenMethodName()之前还是之后实现自己的逻辑?

重写方法时

你可以在reflector中检查这些东西。框架在InternalOnNavigatedTo方法中完成它的工作,该方法调用空的OnNavigatedTo虚拟方法:

protected virtual void OnNavigatedTo(NavigationEventArgs e) { }

你可以删除那行,它没有作用,但这不是一般规则。如果你不知道基函数是做什么的,把调用留在那里。

因此,取决于基类的功能是什么,您需要决定将代码放在哪里。在调用基方法之前或之后。

所以你说了算。检查基库中是否有任何琐碎的功能,并根据这些功能决定位置。

没有"最好"。

base.OverrideMethodName被设计为在更专门的代码之前调用吗?
它被设计为被命名吗?
它被设计成可以从更专门的版本调用吗?

如果你是基类的所有者,那么这一切都取决于你的要求。

恕我直言,从纯粹的逻辑角度来看,在方法开始之前调用它可能会"更清晰"。

但这完全取决于你的需要,以及基方法和重写方法是什么:根据这一点,你可以在开头、中间、结尾调用它,或者根本不调用它!