c# – 使用ReSharper将扩展方法转换为实例方法?

假设我有一个班级:

public class Foo
{
    public int Bar { get; set; }
}

并且扩展方法:

public static class FooExtensions
{
    public static void DoSomething(this Foo foo, int someNumber)
    {
        foo.Bar += someNumber;
    }
}

删除FooExtensions类并更改Foo以使它成为最方便的方法是什么?

public class Foo
{
    public int Bar { get; set; }

    public void DoSomething(int someNumber)
    {
        Bar += someNumber;
    }
}

ReSharper似乎没有提供一步一步的行动(奇怪的是,这似乎是一个非常简单的重构),但我可以结合哪些其他行动来避免过多的复制/粘贴和手动工作?

最佳答案
显然,有一个ReSharper动作,但它的名字有点笨拙(imho).它被称为“Make Method Non-Static”.

文档可以在here找到.请注意,它没有具体提到扩展方法.

相同的重构将适用于其他类型的静态方法(非扩展),这可能解释了命名.

转载注明原文:c# – 使用ReSharper将扩展方法转换为实例方法? - 代码日志