Почему intellisense не показывает соответствующие методы в соответствии с тем, что я передаю?

StackOverflow https://stackoverflow.com/questions/425161

  •  06-07-2019
  •  | 
  •  

Вопрос

Как, например, есть 3 метода:

Modify ( int arg )
Modify ( double arg )
Modify ( string arg )

И если я передаю переменную типа double, она должна автоматически перейти к методу # 2, а не прокручивать меня вниз, чтобы увидеть, есть ли метод, который получает значение double, верно?

Это было полезно?

Решение

Я могу думать о двух причинах. Во-первых, Intellisense должен был бы знать о правилах неявного преобразования и тому подобном, и в конечном итоге он оказался таким же умным, как и компилятор. Вероятно, они просто решили, что простая реализация была достаточно хороша (представьте себе случаи более сложные, чем у вас - например, передача результатов функции непосредственно другой функции). Кроме того, я думаю, что было бы неприятно, если бы Intellisense скрывал конкретную перегрузку, которую я хотел вызвать (потому что, возможно, аргумент имел неправильный тип) - я бы предпочел закончить написание кода с нужной мне функцией, а затем вернуться и исправить любые ошибки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top