//
// Summary:
// Returns the specified System.DateTime object; no actual conversion is performed.
//
// Parameters:
// value:
// A date and time value.
//
// Returns:
// value is returned unchanged.
public static DateTime ToDateTime(DateTime value);
Warum hat System.Convert
ToDateTime
, die DateTime akzeptiert?Warum hat System.Convert ToDateTime, das DateTime akzeptiert?
Die Methodendokumentation gibt an, dass der Wert unverändert bleibt.
Ich könnte mir vorstellen, Konsistenz zu halten, vor allem für die Reflexion. Stellen Sie sich vor, Sie verwenden die 'Convert'-Klasse, um ein' Objekt' in ein 'DateTime' zu konvertieren; Sie kennen ihren Eingabetyp nicht. Es kann ein paar verschiedene Typen _included_ 'DateTime' geben, aber anstatt diesen speziellen Fall zu überprüfen, haben die BCL-Designer entschieden, diese Methode aus Konsistenzgründen beizubehalten, anstatt Ausnahmen auszulösen. Dies kann auch mit den anderen Typen gesehen werden (z. B. 'Convert.ToDouble (double)') –
Es ist kein Einzelfall. Praktisch alle 'ToXXX'-Methoden für die einfachen eingebauten Typen haben eine Überladung, die einen Wert desselben Typs akzeptiert. –
Außerdem gibt es eine Methode namens ['String.ToString()'] (http://msdn.microsoft.com/en-us/library/8tc6ws5s%28v=vs.110%29.aspx) übrigens ':) ' –