場合によっては、インターフェースを実装するか、基本メソッドがオブジェクトを期待する仮想 (MustInherit) を継承する必要がありますが、たとえば、渡す値は常に整数になることがわかっています。
以下の例から最高のパフォーマンスを得るにはどうすればよいですか:
Public Sub DoSomething(ByVal obj As Object)
'option 1:
Dim x As Integer = obj
'option 2:
Dim y = DirectCast(obj, Integer)
End Function
考慮事項:
- オプション 1: キャストはありませんが、適切ではない可能性があります。パフォーマンスのコストは低くなりますか?
- オプション 2: 型がわかっている場合にキャストしますが、より安全だと感じます。
注:「なぜ別の方法で実装したくないのか」などとコメントしないでください。私の質問はこれを行う方法ではありません。質問する方法の例が見つかりませんでした、私の質問どのオプションが正しいか、そして何がより多くのパフォーマンスを犠牲にするかです。