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