Erweiterungsmethoden in C# 3.0
-
Hi Forum,
ich habe mich grad ein bisschen durch die Neuerungen von C# 3.0 gelesen und bin dabei auf diesen Artikel gestoßen, der sich mit Erweiterungsmethoden (extension methods) beschäftigt!
Im Abschnitt "Binden von Erweiterungsmethoden während der Kompilierung" wird davon gesprochen, dass eine Methode erst in der Instanz gesucht wird und erst anschließend die Erweiterungsmethoden abklappert! Bei gleicher Signatur wird also immer die Instanzmethode aufgerufen!
Bloß ich frage mich, wo da der genau Sinn dahinter liegt?!
Denn wenn ich eine veraltete Instanzmethode "erneuern" will, dann ist es ja grade das Ziel die "neue" Erweiterungsmethode aufzurufen!
Ich hätte gedacht, dass das genau der Sinn solcher Erweiterungsmethoden ist! Aber in diesem Fall sind sie für die Katz', wenn ich des richtig sehe!Grüße
-
extender schrieb:
Hi Forum,
ich habe mich grad ein bisschen durch die Neuerungen von C# 3.0 gelesen und bin dabei auf diesen Artikel gestoßen, der sich mit Erweiterungsmethoden (extension methods) beschäftigt!
Im Abschnitt "Binden von Erweiterungsmethoden während der Kompilierung" wird davon gesprochen, dass eine Methode erst in der Instanz gesucht wird und erst anschließend die Erweiterungsmethoden abklappert! Bei gleicher Signatur wird also immer die Instanzmethode aufgerufen!
Bloß ich frage mich, wo da der genau Sinn dahinter liegt?!
Denn wenn ich eine veraltete Instanzmethode "erneuern" will, dann ist es ja grade das Ziel die "neue" Erweiterungsmethode aufzurufen!
Ich hätte gedacht, dass das genau der Sinn solcher Erweiterungsmethoden ist! Aber in diesem Fall sind sie für die Katz', wenn ich des richtig sehe!Grüße
Es geht darum eine Klasse um neuen Methoden zu erweitern, nciht bestehende Methoden zu verändern. Letzteres könnte auch zu erheblichen Problem führen wenn die so geänderten Funktionen wieder von anderen Klassen aufgerufen werden, sich aber plötzlich anders verhalten.
-
loks schrieb:
Letzteres könnte auch zu erheblichen Problem führen wenn die so geänderten Funktionen wieder von anderen Klassen aufgerufen werden, sich aber plötzlich anders verhalten.
An das hab ih ehrlich gesagt gar nicht gedacht!
Aber du hast recht :-)! Merci