gpt4 book ai didi

c# - 替换特定项目中类的用法

转载 作者:太空狗 更新时间:2023-10-29 20:31:41 26 4
gpt4 key购买 nike

我正在使用 VS2010 和 Resharper 5.1。

我有两个项目,一个库项目(Lib)和一个应用项目(App),App引用了Lib。

Lib 包含一个在 App 和 Lib 中都使用的类 X。在 App 中,我现在想用类 Y 替换 X 的所有用法。在我的例子中,Y 与 X 无关,但如果它使重构更容易,它可以从 X 继承。

我目前计划使用“查找用法”功能,按项目分组并逐一更改用法。有没有更简单/自动化的方法来做到这一点?

最佳答案

Structural Search and Replace是你的 friend 。您可以通过 ReSharper | 获得它查找 |使用模式搜索...

  • 定义一个X类型的占位符,命名为TX
  • 制作你的查找模式 $TX$
  • 指定“查找”“项目”
  • 作为检查,执行搜索 - 您应该看到 X
  • 的所有用法
  • 单击“替换”切换按钮
  • 使替换模式成为 Y 的完全限定名称
  • 点击替换

ReSharper 将向您显示它要替换的所有提及的 X - 确保选中树顶部的复选框,然后单击替换。

编辑

确实是通过在我们的 Find 模式中使用 type 占位符来确保只引用 type X,而不是其他任何内容名为 X,已重命名。

如果你希望结束

using A.B.C;

/* later */
Y obObject = ...

而不是

A.B.C.Y myObject

认为您可以通过以下方式实现这一目标:

  1. ReSharper |选项, 工具 |代码清理,定义一个新的配置文件,它刚刚检查了“优化'使用'指令”
  2. ReSharper |选项, 语言 | C# |命名空间导入A.B.C 添加到“应始终导入的命名空间”
  3. 运行 ReSharper |工具 |使用您刚刚定义的配置文件清理代码
  4. 通过从您添加到的 namespace 列表中删除 A.B.C 进行整理

尽管这也会清除所有其他 using,这可能会使版本控制差异比您想要的大一些。

关于c# - 替换特定项目中类的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7672468/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com