Итак, я понимаю, что такое статический метод или поле, мне просто интересно, когда их использовать. То есть, при написании кода какой дизайн поддается использованию статических методов и полей.Когда мне следует писать статические методы?
Одним из распространенных шаблонов является использование статических методов в качестве статической фабрики, но это можно так же легко сделать, перегружая конструктор. Верный? Например:
var bmp = System.Drawing.Bitmap.LoadFromFile("Image01.jpg");
Что касается статических полей, то они создают наилучшие возможности для использования в таких местах?
Статическая фабрика также может возвращать null и может с легкостью вернуть экземпляр, полученный из кеша. Многие из моих классов имеют статический FromId (int), чтобы получить экземпляр из первичного ключа, возвращая существующий кешированный экземпляр, если он у нас есть. – stevemegson