Die Klasse Convert
existiert seit .NET 1.0. Die Schnittstelle IConvertible
existiert seit dieser Zeit ebenfalls.Warum übernimmt Convert.ChangeType einen Objektparameter?
Die Convert.ChangeType
Methode nur Arbeiten an Objekten von Typen, die IConvertible
implementieren (in der Tat, es sei denn, ich irre, alle der Konvertierungsmethoden zur Verfügung gestellt von der Convert
Klasse sind auf diese Weise). Warum ist der Parametertyp object
?
Mit anderen Worten, statt dies:
public object ChangeType(object value, Type conversionType);
Warum ist nicht die Unterschrift das?
public object ChangeType(IConvertible value, Type conversionType);
scheint mir nur seltsam.
Ich denke, dies ist die einzig mögliche Erklärung zu sein scheint ... es nicht seltsam scheinen Sie aber, dass die Designer Hätte das Verhalten "kann ein Objekt nehmen und es auf den gleichen Typ umwandeln" sogar wert, unterstützt zu werden? Ich meine, wofür würde das jemals verwendet werden? –
@Dan - Ich denke, ObjectDatasource verwendet es intern IIRC, ich denke, sie bevorzugten die Überprüfung innen statt einer außerhalb? Ich stimme zu, dass es nicht sehr nützlich scheint. –