Ich habe zwei Konstruktoren, die Werte in schreibgeschützte Felder eingeben.
public class Sample
{
public Sample(string theIntAsString)
{
int i = int.Parse(theIntAsString);
_intField = i;
}
public Sample(int theInt) => _intField = theInt;
public int IntProperty => _intField;
private readonly int _intField;
}
Der eine Konstruktor empfängt die Werte direkt, der andere führt eine Berechnung durch, ermittelt die Werte und setzt dann die Felder.
Und jetzt kommt der Haken:
- Ich möchte nicht die Code einstellen. In diesem Fall wird nur ein Feld gesetzt, aber es kann natürlich auch mehr als eines sein.
- Um die Felder schreibgeschützt zu machen, benötige ich muss ich sie im Konstruktor setzen, also kann ich den gemeinsamen Code nicht in eine eine Utility-Funktion.
- Ich weiß nicht, wie man einen anruft Konstruktor von einem anderen aufrufen kann.
Irgendwelche Ideen?