通过批处理文件将属性应用于属性get / set方法

时间:2009-07-21 19:57:34

标签: c# batch-file

我正在尝试自动生成和清理使用.net框架的XSD创建的部分类。我的主要问题是[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;
    }
}

通过批处理文件删除行的链接(所需清理的第一部分) Delete certain lines in a txt file via a batch file

2 个答案:

答案 0 :(得分:1)

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%
)

这很简单,并且不会处理已添加属性的属性等情况。它也可能会阻塞某些代码行,但我还没有找到一行代码。

[编辑]进行下面提到的更改,除了额外的回声缩进(在这个页面上看起来很丑)。

答案 1 :(得分:0)

我知道你想使用.bat文件,但我真的认为python或其他脚本语言是你最好的选择。