2009-07-21 4 views
0

Ich versuche, die Generierung und Bereinigung von Teilklassen zu automatisieren, die mit dem XSD des .net-Frameworks erstellt wurden. Mein Hauptproblem ist, dass sich [System.Diagnostics.DebuggerStepThroughAttribute()] auf den Code in meiner Teilklasse sowie auf den automatisch erzeugten Code auswirkt. Ich kann das problematische Attribut in der gleichen Batch-Datei löschen, mit der ich die Dateien erstellt habe.Attribut auf Eigenschaft Get/Set-Methoden über Batch-Datei anwenden

Ich möchte jedoch nicht in alle Eigenschaften der automatisch generierten Datei einsteigen. Ich kann den Debugger daran hindern, jede Eigenschaft einzugeben, indem ich [System.Diagnostics.DebuggerStepThrough()] auf die get- und set-Methoden anwende. Kann ich das über eine Batchdatei machen? ohne die Skriptsprache eines Drittanbieters für die Textverarbeitung installieren/konfigurieren zu müssen?

Beispiel Eigenschaft mit Attributen hinzugefügt:

public string FileFormatVersion 
{ 
    [System.Diagnostics.DebuggerStepThrough()] 
    get { 
    return this.fileFormatVersionField; 
    } 
    [System.Diagnostics.DebuggerStepThrough()] 
    set 
    { 
     this.fileFormatVersionField = value; 
    } 
} 

Link zu löschen Zeilen über eine Batch-Datei (erster Teil der benötigten Bereinigung) Delete certain lines in a txt file via a batch file

+0

Warte, habe ich das falsch verstanden? Jemand hat einen Link zum Löschen von Zeilen aus einer Batch-Datei hinzugefügt, aber es hat sich für mich so angefühlt, als wollten Sie sie zu den Gettern und Settors hinzufügen ... – JimG

+0

Nein. Der Link gehörte mir und war der erste Schritt des Bereinigungsprozesses. Ich habe einen Schnitt hinzugefügt, um seine Absicht zu verdeutlichen. Die anderen Personen bearbeiten nur um die Formatierung zu optimieren. –

Antwort

1

Dies ist sehr einfach und behandelt keine Fälle wie Eigenschaften, denen das Attribut bereits hinzugefügt wurde. Es könnte auch einige Codezeilen ersticken, aber ich habe noch keine Zeile gefunden.

[Bearbeiten] Die unten aufgeführten Änderungen vorgenommen, mit Ausnahme des zusätzlichen Echoeindrucks (würde auf dieser Seite nur hässlich aussehen).

+0

Die Ausgabe des XSD-Tools ist im Format sehr begrenzt, so dass ich auf zwei Fälle verzichten konnte. Ich fügte 12 Leerzeichen in die Echos ein, um die Attribute korrekt einzurücken, und änderte das letzte Echo, um korrekt leere Zeilen anstelle des Textes "ECHO ist an" auszugeben. –

+0

Meine überarbeitete Version Ihrer Batch-Datei (da ich den Rep nicht habe, um Ihren Beitrag direkt zu bearbeiten). setlocal enabledelayedexpansion gesetzt outfile =% 1.Xsd.cs del "% outfile%" für/f "delims =" %% x in (% 1.Xsd.cs.temp) DO ( set line =% % x wenn "! line: =!" == "get {" ( echo [System.Diagnostics.DebuggerStepThrough^(^)] >>% outfile% ) wenn "! line: =!" == " set {“( echo [System.Diagnostics.DebuggerStepThrough^(^)] >>% outfile% ) Echo. %% x >>% outfile% ) –

+0

igitt, das sich als viel weniger kam lesbar, als ich wollte. –

0

Ich weiß, dass Sie mögen, dass eine .bat verwenden Datei, aber ich denke wirklich, Python oder eine andere Skriptsprache ist hier die beste Wahl.

+0

Wenn es vielleicht die einzige Option wäre, aber das Hinzufügen eines zusätzlichen Tools zum Entwicklungsprozess für eine tertiäre Prioritätsaufgabe ist ein bisschen Overkill, wenn IMO nicht benötigt wird. –

Verwandte Themen