Я часто размышлял над этим ... его, вероятно, вопрос идиот, но здесь идет.Должен ли я всегда ставить свои методы статически, когда это возможно?
Скажем, у меня есть этот класс:
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 можно сделать статическим» и так далее ...
Возможный дубликат [Статический или нестатический метод] (http://stackoverflow.com/questions/1184701/static-vs-non-static-method) –
Если метод не требует конкретных данных экземпляра, вы может сделать его статическим. – halfdan
Я знаю полдня, но я спрашиваю - должен ли я? – Nobody