在方法的开头或结尾调用基本方法?

Rya*_*hel 20 c# virtual coding-style

我发现的唯一类似的问题是这个,答案建议必须使用Reflector找出答案.

在大多数情况下呢?通常,在方法中首先或最后调用的基本方法是什么?

我注意到在一些库中,它在方法的开头被调用,在XNA Framework中,它们在方法的末尾被调用(base.Update,base.Draw,et cetera).

Hen*_*man 21

这取决于您是否希望派生行为发生在基本行为之前或之后.

并且不要忘记你可以在中间调用基本方法或根本不调用.

话虽如此,一般来说它将被称为第一件事.因为那么被覆盖的方法可以选择"覆盖"基类完成的设置.

但是在像Close或Dispose这样的方法中,最后调用它更为习惯(有时是强制性的).

  • 通常创建场景一开始就有它们.最后清理.像更新这样的东西可能会让它在中间. (8认同)

Jon*_*eet 6

这完全取决于你想做什么.对于应该发生的事情,并没有真正的"一般"规则.例如,您可能想要进行一些额外的验证,然后调用基本方法,然后执行其他操作.或者您可能只想计算基本方法调用的时间.

将每个案件视为个别情况.