Wird der alte .NET-Code in neuen Versionen aktualisiert? [geschlossen]

8

Ich frage das nur, weil mir das gleiche passiert ist, als ich versucht habe, über DataRowCollection zu iterieren:

%Vor%

Ich sah @Marc Gravell Antwort in Warum gibt es keine Intellisense mit 'var' Variablen in 'foreach'-Anweisungen in C #? , und jetzt ist mir klar, warum das passiert.

Ich habe mich entschieden, den Code der Klasse DataRowCollection und GetEnumerator() ist:

zu betrachten %Vor%

wobei list ein DataRowTree -Typ ist, der die abstrakte Klasse RBTree<K> ( erbt, wusste übrigens nie, dass es eine Implementierung eines Rot-Schwarz-Baumes in .NET vor gab) welche IEnumerable anstelle von IEnumerable<K> implementiert.

Ist es zu schwierig, RBTree<K> umzusetzen IEnumerable<K> zu machen? Das würde das Hauptproblem hier lösen.

Ich nehme an, dass es in früheren Versionen von .NET so entwickelt wurde, aber das macht wirklich keinen Sinn mehr, oder?

Meine Frage ist:

Ist alter .NET-Code in neuen Releases aktualisiert? (zum Beispiel make DataRowCollection implementieren IEnumerable<DataRow> anstelle von IEnumerable )

    
Oscar Mederos 26.02.2011, 07:07
quelle

1 Antwort

6

Änderungen, wie das Ändern der Klassenhierarchie, werden nur implementiert, wenn es einen wirklich guten Grund gibt. In diesem Fall ist es nur für die Bequemlichkeit.

Ein Beispiel dafür, warum es eine bahnbrechende Veränderung ist: Angenommen, ein Projekt verfügt über diese beiden Methoden.

%Vor%

Jetzt wird die gewünschte Änderung bewirken, dass ein Programm, das neu kompiliert, aber nicht geändert wurde, jedes Mal eine Ausnahme auslöst, anstatt auf die Konsole zu drucken. Es ist nicht so, dass es das Problem ist, aber das Verhalten ist anders.

Es gibt noch andere Möglichkeiten, wie eine solche Änderung ein perfektes Programm unterbrechen / ändern könnte, so dass die Vorteile (Schreiben von var in foreach-Schleifen) die Kosten (Entwerfen, Implementieren, Testen, Dokumentieren) und die möglichen Kosten nicht aufwiegen brechende Kunden arbeiten.

    
Rune FS 26.02.2011, 07:45
quelle

Tags und Links