我正在更新一个旧的解决方案,将数百万LoC更新为NRT。该过程正在经历多次迭代。
我怎样才能找到零原谅(
!
),空合并(
??
),以及可选链接(
?.
)已过时的操作员,无需查看
全部的
他们中的哪一个?
无意义的示例代码,因为SO喜欢它的示例代码:
#nullable enable
// Solution/SectionA/SubZ/Project42/Thing.cs
class Thing
{
// This property had its nullability changed at some point
// by someone else and you don't know this happened.
public string/*?*/ Prop { get; set; } = "";
}
// Imagine several hundred files with thousands of lines
// Solution/SectionB/SubY/Project4711/App.cs
class App
{
public void Method(Thing t)
{
Console.WriteLine(t.Prop?.Substring(3)); // How do you find this ?. ?
}
}
只需搜索
Thing.Prop
不可能,因为我必须知道
事情道具
改变了,但我没有。