Ich kann den Unterschied zwischen einem einfachen bare
nicht verstehen %Vor%und
%Vor% Ich weiß, dass ich es nur benutzen kann, wenn ich ein +1
überladenes ctor habe, aber ich kann die Vorteile von defining the parameterless constructor
auf diese Weise nicht verstehen.
Dies erlaubt dem Einzelparam-Konstruktor, die gesamte Logik zu haben, so dass er nicht wiederholt wird.
%Vor% Ich hoffe, es ist klar, dass die "Logik" und "noch mehr Logik" im parameterlosen Konstruktor wiederholt werden müssten, wenn nicht für this(null)
.
Ein sehr nützlicher Fall sind Situationen wie WinForms, wo der Designer einen prameterless Konstruktor benötigt, aber Sie wollen, dass Ihr Formular einen Konstruktor benötigt.
%Vor%Es gibt ein Muster namens Constructor injection. Dieses Muster ist hauptsächlich nützlich für das Komponententesten und das Teilen der Logik. Hier ist ein Beispiel
%Vor%Wie Sie hier sehen, werden Komponententests durch das Übergeben einer falschen Implementierung einfach sein. Zusätzlich wird die Logik geteilt (DRY). Und tun Sie die gesamte Logik innerhalb des Konstruktors, der die höchste Anzahl von Parametern enthält
Aber in Ihrem Fall wird null übergeben, also ist das ein Zusammenhang. Ich muss wissen, was dein Kontext ist.
Tags und Links c# constructor parameters