Применить атрибут к свойству get / set методов через командный файл - PullRequest
0 голосов
/ 21 июля 2009

Я пытаюсь автоматизировать генерацию и очистку частичных классов, созданных с использованием XSD .NET Framework. Моя главная проблема заключается в том, что [System.Diagnostics.DebuggerStepThroughAttribute ()] влияет на код в моем частичном классе, а также на автоматически сгенерированный. Я могу удалить атрибут-нарушитель в том же пакетном файле, который я использую для создания файлов.

Однако я не хочу вдаваться во все свойства автоматически сгенерированного файла. Я могу остановить отладчик от ввода каждого свойства, применив [System.Diagnostics.DebuggerStepThrough ()] к методам get и set. Могу ли я сделать это через командный файл? без необходимости устанавливать / настраивать сторонний язык сценариев для обработки текста?

Пример свойства с добавленными атрибутами:

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

Ссылка на удаление строк через командный файл (первая часть необходимой очистки) Удалить определенные строки в текстовом файле через командный файл

Ответы [ 2 ]

1 голос
/ 22 июля 2009
setlocal enabledelayedexpansion
set outfile=%1.copy
del "%outfile%"
for /f "delims=" %%x in (%1) do (
    set line=%%x
    if "!line: =!"=="get{" (
        echo [System.Diagnostics.DebuggerStepThrough^(^)]>>%outfile%
    )
    if "!line: =!"=="set{" (
        echo [System.Diagnostics.DebuggerStepThrough^(^)]>>%outfile%
    )
    echo.%%x>>%outfile%
)

Это упрощенно и не будет обрабатывать случаи, такие как свойства, к которым уже добавлен атрибут. Это также может задушить некоторые строки кода, но я еще не нашел такой строки.

[Редактировать] Внесены изменения, указанные ниже, за исключением дополнительного отступа эха (на этой странице будет выглядеть ужасно).

0 голосов
/ 22 июля 2009

Я знаю, что вы хотите использовать файл .bat, но я действительно думаю, что Python или другой язык сценариев - ваш лучший выбор здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...