是否可以使用 ReSharper 创建扩展方法?

Posted

技术标签:

【中文标题】是否可以使用 ReSharper 创建扩展方法?【英文标题】:Is it possible to create an extension method using ReSharper? 【发布时间】:2015-06-11 22:48:18 【问题描述】:

我想Alt+Enter 对下面的Update 方法(它不存在)创建一个新的扩展方法。有没有办法在 ReSharper 中做到这一点?

List<FootyTeam> existingTeams = GetFootyTeams();
List<XmlTeam> newTeams = GetXmlTeams();

existingTeams.Update(xmlTeams);

(注意,我是 ReSharper 新手)

【问题讨论】:

【参考方案1】:

我担心目前这是不可能的(甚至高达 9.1.3 )。有静态方法到扩展方法的转换,但没有你想要的重构。

将静态转换为扩展方法

这个新的重构将一个 静态方法到扩展方法。为了进行转换 成功退出,静态方法必须(1)至少有一个 参数和 (2) 驻留在静态类中。反向功能 可与“将扩展方法转换为普通静态”一起使用。

来源:https://www.jetbrains.com/resharper/features/code_refactoring.html

【讨论】:

以上是关于是否可以使用 ReSharper 创建扩展方法?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ReSharper 扩展中获得构建的结果

如何(visual studio 2008 / Resharper)重构/自动化mixin模式

如何为 ReSharper 扩展找到正确版本的“Wave”?

我可以将 Enum 扩展为 Enum.GetValues() 吗? [复制]

将 vue-material 组件扩展为我自己的组件

Python从父调用扩展子方法