Ich habe derzeit eine generische Methode, die einen Wert aus der Datenbank basierend auf einem Schlüssel liest und einen bestimmten Typ dieses Wertes zurückgibt.
%Vor% Aber wenn ich versuche, einen TimeSpan-Typ zurückzugeben, erhalte ich die folgende Ausnahme. Invalid cast from 'System.String' to 'System.TimeSpan'.
Nach etwas Googeln habe ich festgestellt, dass die gängigste Lösung die Methoden TimeSpan.Parse
oder TimeSpan.TryParse
sind.
Ich habe auch TimeSpan Struktur gefunden.
public struct TimeSpan : IComparable, IComparable,
IEquatable, IFormattable
Meine Frage ist warum, warum TimeSpan das nicht kann. Liegt es daran, dass es nicht die Schnittstelle IConvertible
hat? Irgendwelche Gedanken dazu würden sehr geschätzt.
Ich glaube nicht, dass Convert.ChangeType
das ist, was Sie wirklich wollen. Probieren Sie TypeConverter.ConvertFrom
:
Es gibt keine implizite Konvertierung zwischen String
und TimeSpan
, Sie müssen explizit konvertieren mit Parse
oder TryParse
Tags und Links c#