2011-10-17 8 views
15

私が見つけた唯一の類似の質問はthisで、その答えはリフレクターを使用して調べることを提案しました。メソッドの先頭または最後にコールベースメソッド?

大多数のケースではどうでしょうか?一般的に、メソッドでは最初または最後に呼ばれる基本メソッドですか?

いくつかのライブラリでは、メソッドの始めに呼び出され、XNA Frameworkではメソッドの最後に呼び出されます(base.Update、base.Drawなど)。

答えて

17

基本動作の前後に派生動作を発生させるかどうかによって異なります。

そして、途中でベースメソッドを呼び出すこともできますし、まったく呼び出すこともできません。

これは、一般的には最初のものと呼ばれると言われています。オーバーライドされたメソッドには、ベースクラスによって行われた設定を上書きするオプションがあるためです。

しかし、CloseやDisposeのようなメソッドでは、最後に呼び出す方が慣例的です(必須の場合もあります)。

+4

通常、作成シナリオには最初のシナリオがあります。 最後のクリーンアップ。更新のようなものは真ん中にあるかもしれません。 –

4

それはあなたが何をしたいかによってまったく異なります。実際に何が起こるべきかについての一般的なルールはありません。たとえば、いくつかの追加の検証を行い、次に基本メソッドを呼び出してから、何か他のことをしたい場合があります。または、基本メソッドが呼び出しにかかる時間を時間に合わせたい場合もあります。

それぞれの状況を個別の状況として扱います。

関連する問題