Gibt es Kosten in Verbindung mit Überlademethoden in .Net?Methode überladene Kosten in .Net
Also, wenn ich drei Methoden wie:
Calculate (int)
Calculate (float)
Calculate (double)
und diese Methoden werden zur Laufzeit „dynamisch“ genannt basiert auf, was auf die Calculate-Methode übergeben wird, was die Kosten für diese Überladungsauflösung wäre?
Alternativ könnte ich eine einzige Calculate haben und den Unterschied in der Methode body machen, aber ich dachte, dass würde die Methode erfordern, um den Typ jedes Mal zu bewerten, wenn es aufgerufen wird.
Gibt es bessere Möglichkeiten/Designs, um dies zu lösen, mit vielleicht keinen Overhead? Oder noch besser: Was ist die beste Vorgehensweise, um solche Fälle zu behandeln? Ich möchte denselben Klassen-/Methodennamen, aber ein anderes Verhalten haben.
EDIT: Danke allen. Irgendwas wenn es anders ist. Ich frage mich, ob Sie eine DLL für diese Methoden und ein in C# geschriebenes Programm haben, das dem Benutzer erlaubt, diese Methoden als UI-Elemente hinzuzufügen (ohne den Typ anzugeben). Also fügt der Benutzer das UI-Element Calculate (5) und dann Calculate (12.5) usw. hinzu, und die C# -App führt dies aus, würde es noch keinen Overhead geben?
Diese Frage bezieht sich auf Methodenüberladung, die sich von Polymorphie völlig unterscheidet. –
@Cris: .NET Pro-Anweisung Kosten ist praktisch nichts, am häufigsten ist die Framework-Ladezeit ein Problem (~ 500ms jetzt?) –
yeah ... du wirst in Überladungen im Vergleich zu Überschreibungen – wowest