.Net でメソッドをオーバーロードすることに関連するコストはありますか?
したがって、次のような3つの方法がある場合:
Calculate (int)
Calculate (float)
Calculate (double)
これらのメソッドは、実行時に Calculate メソッドに渡された内容に基づいて「動的に」呼び出されます。このオーバーロード解決のコストはいくらになるでしょうか?
別の方法として、単一の Calculate を使用してメソッド本体で違いを生むこともできますが、メソッドが呼び出されるたびに型を評価する必要があると思いました。
おそらくオーバーヘッドなしでこれを解決するためのより良い方法/設計はありますか? またはさらに良いことに、このようなケースを処理するためのベストプラクティスは何ですか? 同じクラス/メソッド名を持ちたいのですが、動作は異なります。
編集:ありがとうございました。違いがある場合は、1つだけ。これらのメソッド用の DLL と、ユーザーがこれらのメソッドを (型を指定せずに) UI 項目として追加できるようにする C# で記述されたプログラムがあると思っていました。ユーザーが UI 項目 Calculate (5)、Calculate (12.5) などを追加し、C# アプリがこれを実行すると、オーバーヘッドは発生しませんか?