Каковы преимущества и когда целесообразно использовать статический конструктор?
public class MyClass
{
protected MyClass()
{
}
public static MyClass Create()
{
return new MyClass();
}
}
и затем создание экземпляра класса с помощью
MyClass myClass = MyClass.Create();
, а не просто открытый конструктор и создание объектов с использованием
MyClass myClass = new MyClass();
Я вижу, что первый подход полезен, если метод Create возвращает экземпляр интерфейса, который реализует класс ... это заставит вызывающих создавать экземпляры интерфейса, а не определенного типа.