Je pense que c'est juste trop incertain. Lorsque les deux variables sont du même type, c'est un cas spécifique facile, mais dans le cas plus général, vous devez considérer ce qui est "correct" dans du code comme :
var x = new objet(), y = "Bonjour!", z = 5;
Toutes devraient-elles être typées comme objet
, puisque c'est le seul type qu'elles ont en commun ? Ou bien x
devrait être objet
, y
devrait être string
, et z
devrait être int
?
D'un côté, vous pourriez penser à la première option, puisque les variables déclarées de cette manière (toutes sur une même ligne) sont généralement supposées être du même type. D'un autre côté, peut-être que vous penseriez à la deuxième option, puisque le mot-clé var
est censé permettre au compilateur d'inférer le type le plus spécifique pour vous.
Mieux vaut tout simplement interdire cela plutôt que de se préoccuper de savoir exactement comment cela devrait se comporter, étant donné que ce ne serait pas vraiment une fonctionnalité "essentielle" de toute façon.
C'est du moins mon avis/supposition.