如何将泛型类型引入类中?

时间:2013-06-10 08:19:03

标签: c# generics automated-refactoring

我需要通过从现有的C#类中提取泛型类型参数来更改我的C#代码:

假设该类名为 Foo ,类型为 Bar

  • 该课程现在将是 Foo <T>;
  • Foo 定义中出现的所有 Bar 都被T替换;
  • 我的代码库中任何地方出现的所有 Foo 都会被 Foo < Bar >取代。< / LI>

哪种现有工具可以为我做这件事,还是让我轻松做到这一点? 到目前为止,我正在使用正则表达式搜索和替换,它完成了大部分工作,但很容易犯这种愚蠢的错误。

(顺便说一句:如果你知道这个重构的名称比“提取类型”更好,请告诉我,所以我知道要搜索什么...)

2 个答案:

答案 0 :(得分:2)

我刚发现一个现有的Resharper插件确实包含了这样的重构:Resharper Powertoys

答案 1 :(得分:1)

这个重构应该命名为“引入通用参数”,但我不确定是否有任何工具可以做到这一点 您可以使用NRefactory编写访问者来重写代码,但默认情况下不会为您提供所有引用位置的高分辨率。

也许尝试编写ReSharper插件?