2014-05-11 14 views

risposta

6

Sì, è possibile modificare l'uscita. Visual Studio utilizza i modelli T4 per generare codice dagli strumenti di architettura.

È possibile trovare i modelli in C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ Extensions \ Microsoft \ Architecture Tools estensibilità \ Templates \ Text \ (rimuovere (x86) se avete una macchina a 32 bit).

utilizzare le seguenti operazioni per modificare il codice generato per IList<T> al posto di quello predefinito IEnumerable<T>:

  1. Eseguire il backup di tutti i modelli in una directory diversa sulla vostra macchina (meglio prevenire che curare)
  2. Aperto CSharpHelper .t4 dalla directory sopra
  3. Individuare il metodo chiamato ElementType(IType type, bool isEnumerable = false)

    private static string ElementType(IType type, bool isEnumerable = false) 
    { 
        string text = string.Empty; 
        if (type == null) 
        { 
         text = "object"; 
        } 
        else 
        { 
         text = TypeName(type); 
        } 
    
        if(!string.IsNullOrWhiteSpace(text) && isEnumerable) 
        { 
         //SO Change IEnumerable to IList here 
         text = "IEnumerable<" + text + ">"; 
        } 
    
        return text; 
    } 
    
  4. modificare la stringa IEnumerable a quello che vuoi (vedi il mio commento a cominciare SO)

  5. Salvare il file T4 e generare il codice da Visual Studio

Si può anche scrivere i propri modelli T4 e istruire studio visivo per usarli durante la generazione del codice, maggiori dettagli su MSDN.

+0

Eccellente grazie mille per una risposta così dettagliata e soprattutto per il collegamento. –

+0

Accogli Andrew. – user3373870

Problemi correlati