Mi piace la funzione "Risolvi" in Visual Studio.La funzione di "auto-risoluzione" di Visual Studio non funziona con i metodi di estensione: e ora?
scenario tipico:
- Digitare
Debug
- Tipo
.
- Si noti che non appare alcuna intellisense
- destro del mouse
- Selezionare Resolve
- Scegliere
using System.Diagnostics
oSystem.Diagnostics.Debug
Bella. Usalo sempre.
metodo di estensione scenario:
- Digitare
var maxNumber = new int[] {1, 2, 3, 4}
- Tipo
.
- noti che intellisense porta in primo piano i metodi di array, ma non i metodi di estensione LINQ tipo
- manualmente
Max()
- tasto destro fare clic su
Max()
- No Resolve da trovare
- clic destro sul
int[]
- Ancora nessuna Resolve da trovare
malvolentieri scorrere fino alla parte superiore della pagina e inserire
using System.Linq;
** a patto di saper a memoria , altrimenti wrack il cervello o provare a guardare in su
Attuazione idea:
Se questa funzione dovesse essere inventato, una sola idea sarebbe per la prima voce intellisense che compare quando si digita .
a leggere, <extension methods...>
, e se clicco tale elemento, si aprirà una lista Resolve di tutti gli spazi dei nomi che contengono metodi di estensione per la classe in questione.
domande Coppia:
- 'questa caratteristica in programma per le future edizioni di Visual Studio?
- alcuna soluzione alternativa/consigli per trovare i metodi di estensione (e lo spazio dei nomi corrispondente) che potrebbero essere disponibili per una particolare classe?
ReSharper (http://www.jetbrains.com/resharper/download/) lo fa già con i metodi di estensione. – adrianbanks
Qualcuno sa come funziona per VS2012? –