Eine Sache zu erwähnen, dass andere nicht haben. Der Standardkonstruktor sollte weiterhin in der Lage sein, die Standardimplementierungsbits einzurichten, um eine Wiederverwendung zu vermeiden. Dies ist kein Problem, wenn es privat ist, da Sie immer noch zu einem privaten Konstruktor verketten können. Sie machen es nur für externe Quellen verfügbar.
private MyClass()
{
}
public MyClass(string something) : this()
{
}
Das löst das Problem. Beachten Sie jedoch, dass protected möglicherweise eine bevorzugte Implementierung ist, wenn die Klasse nicht versiegelt ist.
Sie in Schwierigkeiten geraten können, wenn Sie dies tun: (. Bindung/Serialisierung/etc) In .NET ein Standard-parameterlosen Konstruktor für eine Reihe von Dingen notwendig ist. Berücksichtigen Sie Standardwerte für alle Werte, die Sie über Konstruktorparameter festlegen müssen. In Ihrem Fall spielt das keine Rolle, aber es ist erwähnenswert. –