Статический метод используется, когда разработчик действительно уверен, что у метода есть только один экземпляр в классе. Нет другого экземпляра, который мог бы изменить это.
например:
public class People
{
private
public static Int32 GetValue(Int x)
{
return x + 3;
}
}
Таким образом, даже если вы создаете экземпляры объектных людей, возврат из статического метода getvalue дает только x + 3.
Обычно он используется, когда вы действительно уверены, что создаете функциональный метод, такой как математический или физический метод.
Вы можете обратиться к функциональному программированию, которое использует статическую точку зрения.
Некоторые парни из старой школы злоупотребляют статическим методом вместо ООП-подхода.
например:
public class People
{
public static DataSet GetPeopleById(String personId)
{ .... implementation that using SQL query or stored procedure and return dataset ... }
public static DataSet GetXXXXXXX(String name, DateTime datex)
{ .... implementation ... }
}
Реализация выше может быть тысячи строк
Этот стиль встречается повсюду, чтобы сделать его похожим на стиль ООП (потому что это происходит в классе), но мыслить как процедурный подход.
Это помощь, поскольку не все люди понимают стиль ООП, а не стиль ООП.
Другим преимуществом использования статики являются экономия памяти и скорость.
Вы можете увидеть в блогах: http://www.dotnetperls.com/callvirt