c# - 将特定文件夹中的所有类标记为已过时

标签 c# resharper visual-studio-2019

我正在重构一个大型 C# 项目,我需要将许多类标记为“已过时”,即。用 ObsoleteAttribute 装饰它们。类文件位于几个文件夹中,这些文件夹中的所有类都可以毫无异常(exception)地标记为“已过时”。

有什么方法可以使用 Visual Studio 2019 来完成此操作,而无需逐个打开所有文件?我不知道这是否有帮助,但我也使用 Resharper。

使用脚本,有些类是抽象的,有些是私有(private)的,因此寻找 class 关键字不足以找到正确的属性位置。

最佳答案

中的快速(在我看来,hacky)方法

$script = { Process {
    (@(Get-Content -Path $PSItem.FullName) -replace '(?=.*?\sclass)', '[Obsolete] ') |
        Set-Content -Path $PSItem.FullName
}}

# run from root folder containing files
Get-ChildItem -Recurse -File -Filter *.cs | & $script

解析类定义目录中的所有文件,并在包含关键字的行的开头注入(inject)属性。

关于c# - 将特定文件夹中的所有类标记为已过时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59754002/

相关文章:

ReSharper - 有没有办法将代码质量建议保存到文件中?

c# - 有没有办法接受使用 C# 静默安装 .msi 文件的许可协议(protocol)?

Windows Azure 管道中的 python setup.py build_ext

c# - 将常规属性转换为自动实现的属性

c# - DynamoDb .AsyncSearch<T>.GetRemainingAsync 随机挂起

c# - 通过整数进行分数计数

c# - 使用 HttpWebRequest 登录到 Https 网站后的 Htmlagilitypack?

c# - 只使用方法的实现?

C# sizeof(enum) 替代方案? (解决 resharper false 错误)?

windows - Visual Studio 2019 路径中的非法字符