我能找到变量';s引用及其映射&x27;s在C#/VS2019中的引用?

我能找到变量';s引用及其映射&x27;s在C#/VS2019中的引用?,c#,visual-studio,C#,Visual Studio,通常,当我需要对变量进行更改时,我需要知道我的更改将如何影响下游代码。我通常会右键单击变量,单击“查找所有引用”,然后分析下游代码。通常情况下,该引用的值被复制(即:映射)到另一个变量,然后我必须重复相同的过程,右键单击该映射变量,单击“查找所有引用”,并分析更多下游代码。同样的过程可以重复几次 是否有一个框架/扩展允许我在one用户操作中查找所有引用及其映射的引用(即:显示“查找所有引用和映射”的按钮) 假设我有以下类/接口 public class Order { public int

通常,当我需要对变量进行更改时,我需要知道我的更改将如何影响下游代码。我通常会右键单击变量,单击“查找所有引用”,然后分析下游代码。通常情况下,该引用的值被复制(即:映射)到另一个变量,然后我必须重复相同的过程,右键单击该映射变量,单击“查找所有引用”,并分析更多下游代码。同样的过程可以重复几次

是否有一个框架/扩展允许我在one用户操作中查找所有引用及其映射的引用(即:显示“查找所有引用和映射”的按钮)

假设我有以下类/接口

public class Order {
   public int Id {set; get;}
   ...
}

public class ICreateOrder {
   int OrderId {set; get;}
   ...
}

public class CreateOrder : ICreateOrder {
   public int OrderId {set; get;}
   ...
}

如果我可以右键单击
Order.Id
,单击“查找所有引用和映射”,VS2019将有效地为我提供
Order.Id
ICreateOrder.OrderIdId
CreateOrder.OrderId
的所有引用。请使用visual studio中的查找功能。它相当强大

只需按Ctrl+Shift+F键,在“查找内容”字段中键入
\..*Id
,然后在“查找范围:字段”中选择搜索范围作为整个解决方案

您需要在“查找选项”部分中检查匹配大小写并使用正则表达式


您可能还会得到一些额外的信息,但您肯定不会错过任何参考资料。

您能否完成代码示例,以便我们了解“映射”的含义?请添加getter和setter的代码,现在它对我来说没有多大意义,因为Id和OrderId之间没有任何关系。
Order.Id
ICreateOrder.OrderId
CreateOrder.OrderId
之间没有任何关系。作为您正在寻找的解决方案的替代方案,您可以。然后让所有Order类将此对象用于ID。这将允许您在不同的顺序中查找该ID对象的所有引用objects@OlivierJacot Descombes@stijn在我的示例中没有关系(例如:订单->产品关系)但是在我看来,获取一个关系列表仍然很有帮助。假设我想将
Id
类型从
int
更改为
Guid
。在我考虑这样的改变之前,我会调查一下订单的身份在哪里。我建议的“查找所有引用和映射”将对此有所帮助。另一个例子是,假设我有一个Person类,其属性为FullName,我决定将FullName拆分为FirstName、MiddleName和LastName。同样,这也会有所帮助。只是暂时更改类型,您应该会收到许多编译错误,显示此更改的影响。这是我过去使用过的一种替代方法,但筛选“额外”误报结果对我来说很麻烦,尤其是当我使用大量不熟悉的代码库时。