Я часто размышлял над этим... его, вероятно, вопрос идиот, но здесь идет.
Скажем, у меня есть этот класс:
public class SomeClass
{
public int AProperty { get; set; }
public void SomeMethod()
{
DoStuff(AProperty);
}
}
Есть ли какие-либо преимущества для этого:
public class SomeClass
{
public int AProperty { get; set; }
public static void SomeMethod(int arg)
{
DoStuff(arg);
}
}
Единственное преимущество, которое очевидно, заключается в том, что я могу теперь напрямую обращаться к SomeMethod
.
Так ли это хорошая практика, чтобы сделать такие методы статичными, где небольшой рефакторинг позволит или это пустая трата моего времени?
EDIT: Я забыл упомянуть (и комментарий ShellShock напомнил мне), что причина, по которой я спрашиваю, заключается в том, что я использую ReSharper, и он всегда делает предложения о том, что "метод X может быть сделан статическим" и т.д....