Bekomme ich Probleme mit der Leistung, wenn ich Erweiterungsmethoden verwende, die zu schwer sind?
Nur ein Beispiel:
Nehmen wir an, ich habe 100 Erweiterungsmethoden für den Typ string und ein Geschäftsobjekt mit 50 String-Eigenschaften. Jetzt erstelle ich eine Sammlung dieses Geschäftsobjekts, vielleicht 500 Artikel?
Haben diese Erweiterungsmethoden bei String Auswirkungen auf RAM, CPU, ...?!
Ich mag wirklich Erweiterungsmethoden, aber ich würde gerne wissen, ob es eine Beschränkung bezüglich seiner Verwendung gibt.
Nein, wirst du nicht.
Extension-Methoden sind nur normale statische Methoden mit etwas syntaktischem Zucker. Benutze sie so oft du willst:)
Sie können Intellisense in der IDE verlangsamen - und möglicherweise die Intellisense-Listen ein wenig unhandlich machen, aber es wird keinen Einfluss auf die Ausführung des Codes selbst gegenüber anderen statischen Methoden haben.
Eine Erweiterungsmethode ist Teil einer statischen Klasse und es handelt sich um einen syntaktischen Zucker, weil eine statische Methode eine Instanzmethode einer anderen Klasse simuliert.
Zusammenfassend gibt es hier keine Leistungseinbußen. Es ist das gleiche ExtensionMethods.YourExtensionMethod(objectToAddMethod)
und objectToAddMethod.YourExtensionMethod()
.
Tags und Links .net c# performance extension-methods