Ich habe eine Eigenschaft definiert als ...C# Immobilie mit hartcodiert Getter und Setter
public List<Obj> Objs { get; set; }
Was würde ich zu tun, um der Lage sein mag, ist eine gewisse Logik in die get-Methode zu setzen, so dass es aussehen würde, so etwas wie ...
public List<Obj> Objs
{
get
{
if (Objs == null)
{
Objs = new List<Obj>();
}
if (Objs.Count < 1)
{
Objs.Add(new Obj());
}
return Objs;
}
set { Objs = value; }
}
Nun, wenn ich dies tun, bekomme ich einen Fehler mir zu sagen, dass die Funktion auf allen Pfaden rekursiv ist.
Gibt es eine Möglichkeit, dies zu tun, ohne ein privates Backing-Feld zu erstellen?
Tun Sie das nicht.http://msdn.microsoft.com/en-us/library/ms182327.aspx – SLaks
Warum können Sie es nicht mit einem Backing-Feld tun? – Default
Es ist unglaublich, wie kreativ Menschen sind, wenn es darum geht, ein System zu missbrauchen, mit dem sie arbeiten. Und zum Glück für Sie war der Compiler schlau genug zu wissen, dass Sie versuchen, das System zu missbrauchen, sonst wäre die Frage "Warum hängt meine App?" –