Я думаю, что это слишком ненадежно.Когда две переменные имеют одинаковый тип, это простой конкретный случай, но в более общем случае вам придется рассмотреть, что является «правильным» в коде, например:
var x = new object(), y = "Hello!", z = 5;
Должны ли все они быть напечатаны какobject
, так как это единственный тип, который у них всех общий?Или x
должно быть object
, y
быть string
и z
быть int
?
С одной стороны, вы можете думать о первом, поскольку переменные объявлены таким образом (все на одной строке), как правило, предполагается, что все они одного типа.С другой стороны, возможно, вы подумали бы, что это последнее, поскольку обычно предполагается, что ключевое слово var
заставит компилятор выводить наиболее конкретный тип для вас.
Лучше всего вообще запретить это, чем работатьточно так, как он должен вести себя, учитывая, что это не совсем «убийственная» функция в любом случае.
Это мое мнение / предположение, по крайней мере.