我将代码的逻辑更改为struct T { ... }时将代码中的某些class T { ... }更改为T。因此,我在遍历代码并搜索更改T成员的方法调用以及其他可能“破坏”代码的事情。

最难找到的是在此Shift + F12上使用赋值运算符的所有位置(赋值是值重复,现在是引用重复)。

有很多行代码,我正在尝试找到定位这些分配的快速方法。


明显的方法是在VS中执行= -但它不起作用。
其他方法-在C#中无法覆盖==运算符。
我看到了关于Tfind all occurrences of comparison with == in visual studio)的类似问题,但无法在我的情况下应用它们的解决方案。
如果有办法使引用不可分配,则会在每次分配中引发错误,但是我现在不知道该怎么做。


我如何找到这些任务?我需要在运行前将其作为VS的内置功能,或者通过一些编译时的技巧来实现。

最佳答案

用过时的属性标记所有成员并重新编译,您将在尝试访问(读取或写入)该属性/方法的每一行上得到警告。

它包含的内容超出了您的期望(读者也是如此),但这是一个起点,应该足够了,除非您的项目规模很大。如果是这样,您可能需要研究roslyn并解析整个项目。

关于c# - 在Visual Studio(在C#中)中查找特定类型的所有赋值运算符(=)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24106624/

10-13 08:00