La classe Convert
existe depuis .NET 1.0. L'interface IConvertible
existe également depuis cette date.Pourquoi Convert.ChangeType prend un paramètre d'objet?
La méthode Convert.ChangeType
seulement de travaux sur les objets de types qui mettent en œuvre IConvertible
(en fait, à moins que je me trompe, tous des méthodes de conversion fournies par la classe Convert
sont de cette façon). Alors, pourquoi le type de paramètre est-il object
?
En d'autres termes, au lieu de cela:
public object ChangeType(object value, Type conversionType);
Pourquoi pas la signature cela?
public object ChangeType(IConvertible value, Type conversionType);
Cela me semble étrange.
Je suppose que cela ne semble pas être la seule explication possible ... ne pas vous sembler bizarre, cependant, que les concepteurs aurait considéré le comportement "peut prendre un objet et le convertir au même type" mérite même d'être soutenu? Je veux dire, à quoi cela servirait-il? –
@Dan - Je pense que ObjectDatasource l'utilise en interne IIRC, je suppose qu'ils ont préféré le contrôle à l'intérieur au lieu d'un à l'extérieur? Je suis d'accord que cela ne semble pas très utile. –