メソッド呼び出しとIL命令
「プログラミング .NET Framework 第2版」を読んでいます。
メソッド呼び出しとIL命令
メソッド呼び出しはILコードにおいてcall命令かcallvert命令に変換される。
仮想メソッドを最小に
- 仮想メソッドは非仮想メソッドより遅い
- 仮想メソッドはコンパイラがインライン化できない
- バージョン管理の問題
- 後段で詳細が示されるらしい
- 多重定義メソッドを用意し、一番複雑なメソッドのみ仮想メソッドにすること
つぶやき
「仮想メソッドを最小に」「いったんメソッドを非仮想で実装したら、将来それを仮想メソッドに変更してはいけない」が並ぶと、virtual指定に対して慎重な気持ちが生まれます。
(…そういえば、継承自体をあまり使わなくなったせいか、virtualにするかどうかで悩む機会自体も減った気がするなあ。コードの書き方が変わったのかな…)