Uwielbiam funkcję "Rozwiąż" w visual studio.Funkcja "automatycznego rozstrzygania" programu Visual Studio nie działa w przypadku metod rozszerzeń - co teraz?
Typowy scenariusz:
- Wpisz
Debug
- Rodzaj
.
- Zauważ, że nie pojawia się intellisense
- prawym przyciskiem myszy
- Wybierz Resolve
- Wybierz
using System.Diagnostics
lubSystem.Diagnostics.Debug
Piękna. Używaj go cały czas.
scenariusz metoda Extension:
- Wpisz
var maxNumber = new int[] {1, 2, 3, 4}
- Rodzaj
.
- Uwaga, intellisense wywołuje metody tablic, ale nie metody rozszerzenie LINQ typu
- Ręcznie
Max()
- Right- kliknij
Max()
- No Resolve można znaleźć
- prawym przyciskiem myszy na
int[]
- Nadal nie postanawiamy znaleźć
niechętnie przewiń do góry strony i wprowadź
using System.Linq;
** zakładając, że znasz go na pamięć , inaczej ruina mózgu lub spróbuj wyszukać go
pomysł realizacji:
Jeśli ta funkcja miała być wynalezione, jeden pomysłem byłoby dla pierwszego elementu intellisense, który pojawia się po wpisaniu .
czytać, <extension methods...>
, a jeśli kliknę ten element, to pojawienie się listy determinacji wszystkich nazw, które zawierają metody rozszerzenia dla danej klasy.
kilka pytań:
- Czy ta funkcja trafi do przyszłych wersji programu Visual Studio?
- Jakiekolwiek obejścia/wskazówki dotyczące wyszukiwania metod rozszerzenia (i odpowiedniej przestrzeni nazw), które mogą być dostępne dla określonej klasy?
ReSharper (http://www.jetbrains.com/resharper/download/) robi to już za pomocą metod rozszerzeń. – adrianbanks
Czy ktoś wie, jak to działa dla VS2012? –