В чем разница между абстрактным классом и классом только с защищенными конструкторами? Они кажутся мне очень похожими, поскольку вы не можете создать экземпляр ни одного из них.
РЕДАКТИРОВАТЬ:
Как бы вы создали экземпляр в производном классе с базовым классом с защищенным конструктором? Например:
public class ProtectedConstructor
{
protected ProtectedConstructor()
{
}
public static ProtectedConstructor GetInstance()
{
return new ProtectedConstructor(); // this is fine
}
}
public class DerivedClass : ProtectedConstructor
{
public void createInstance()
{
ProtectedConstructor p = new ProtectedConstructor(); // doesn't compile
}
public static ProtectedConstructor getInstance()
{
return new ProtectedConstructor(); // doesn't compile
}
}