我正在重构一个大型 C# 项目,我需要将许多类标记为“已过时”,即。用 ObsoleteAttribute 装饰它们。类文件位于几个文件夹中,这些文件夹中的所有类都可以毫无异常(exception)地标记为“已过时”。
有什么方法可以使用 Visual Studio 2019 来完成此操作,而无需逐个打开所有文件?我不知道这是否有帮助,但我也使用 Resharper。
使用脚本,有些类是抽象的,有些是私有(private)的,因此寻找 class 关键字不足以找到正确的属性位置。
最佳答案
powershell 中的快速(在我看来,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/