8 Stimmen

Warum gibt es Convert.ToInt32(DateTime)?

Einfach neugierig, MSDN sagt, dass

Der Aufruf dieser Methode führt immer zu InvalidCastException.

Warum also gibt es diese Überlastung in dem Rahmen? Folgt sie einer Art Muster? Ich würde annehmen, dass es aus Gründen der Abwärtskompatibilität besser wäre, die Überladung zu entfernen und Kompilierfehler statt Laufzeitausnahmen zu erhalten. Ich erinnere mich nicht, ob diese Methode in früheren Frameworks tatsächlich unterstützt wurde, obwohl.

4voto

Joel Etherton Punkte 36629

Wie Sie in der Dokumentation unter dem von Ihnen angegebenen Link sehen können:

Bemerkungen

Diese Methode ist reserviert für zukünftige Verwendung.

Sie haben einfach noch keine Umsetzung gefunden, mit der sie zufrieden sind oder die notwendig ist, aber sie planen, dass es so sein wird.

1voto

poindexter12 Punkte 1755

Ich glaube, dass IConvertable die Implementierung dieser Funktion erfordert.

0voto

Andrey Punkte 57704

Ich schätze, es ruft einfach DateTime.IConvertible.ToInt32 Methode die ihrerseits für das Auslösen dieser Ausnahme verantwortlich ist. Eines Tages wird es die Umwandlung vornehmen und Convert.ToInt32(DateTime) wird ohne jede Änderung funktionieren!

-1voto

Sie haben es einfach in die Dokumentation aufgenommen, nichts Besonderes. Wenn dies nicht vorhanden ist, kann die gleiche Bedingung sein:

Convert.ToInt32(Object)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X