2014-05-11 8 views

Antwort

6

Ja, es ist möglich, den Ausgang zu ändern. Visual Studio verwendet T4-Vorlagen zum Generieren von Code aus den Architekturwerkzeugen.

Sie können die Vorlagen in C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ Extensions \ Microsoft \ Architecture Tools \ Extensibility \ Templates \ Text (entfernen (x86) wenn Sie eine 32-Bit-Maschine).

Verwenden Sie die folgenden Schritte, um den generierten Code IList<T> anstelle des Standard zu ändern IEnumerable<T>:

  1. Sichern Sie alle Vorlagen in ein anderes Verzeichnis auf Ihrem Rechner (besser sicher als sorry)
  2. öffnen CSharpHelper .t4 aus dem obigen Verzeichnis
  3. die Methode ElementType(IType type, bool isEnumerable = false) namens Locate

    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. Ändern Sie die Zeichenfolge IEnumerable, was auch immer Sie wollen

  5. Speichern, um die T4-Datei und generieren Sie den Code aus Visual Studio

Sie können (mein Kommentar beginnend mit SO sehen) sogar Ihre eigenen T4 Vorlagen schreiben und instruieren Visual Studio, um sie beim Generieren von Code zu verwenden, mehr Details unter MSDN.

+0

Excellent vielen Dank für eine so detaillierte Antwort und vor allem für den Link. –

+0

Sie begrüßen Andrew. – user3373870

Verwandte Themen