ho una proprietà definita come ...C# Proprietà con getter codificato duro e setter
public List<Obj> Objs { get; set; }
Quello che mi piacerebbe essere in grado di fare è quello di mettere un po 'di logica nel metodo get, quindi sarebbe guardare qualcosa di simile ...
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; }
}
Ora, quando faccio questo ottengo un errore che mi dice che la funzione è ricorsiva su tutti i percorsi.
C'è un modo per farlo senza creare un backing field privato?
Non farlo.http://msdn.microsoft.com/en-us/library/ms182327.aspx – SLaks
Perché non puoi farlo con un backing field? – Default
È incredibile come siano le persone creative quando si tratta di abusare di un sistema con cui stanno lavorando. E fortunatamente per te il compilatore è stato abbastanza intelligente da sapere che stai cercando di abusare del sistema, altrimenti la domanda sarebbe stata "perché la mia app è appesa" –