假设我有一个类:
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 似乎没有提供一步操作来执行此操作(奇怪的是,这似乎是一个非常简单的重构),但是我可以组合哪些其他操作来避免过多的复制/粘贴和手动工作?
显然,有一个 ReSharp 操作,但它的名字有点尴尬(恕我直言)。它被称为"使方法非静态"。
文档可在此处找到。请注意,它没有特别提到扩展方法。
同样的重构也适用于其他类型的静态方法(非扩展),这可能解释了命名。