Ich habe mich gefragt, etwa: Wie GC
das Objekt Lazy
siehtLazy <T> in den Augen von GC?
dh:
Lazy<Foo> f = new Lazy<Foo>();
„Faule Instanziierung“ Schaffung eines Objekts, bis die Zeit aufschiebt es tatsächlich
zugegriffen wirdf
Does Hier ist eine Wurzel für das Objekt? (was bedeutet, dass er nicht GC'ed sein wird)?
(das Objekt bis zu diesem Zeitpunkt nicht ein anderer Code erstellt ... später auf einen Wert in sie setzen)
oder
GC sieht es als un-referenced/un- initialisiertes Objekt - und GCe'd es.
Ist es etwas, um das ich mich kümmern muss? (/ Furcht?)
public class Foo
{
public int ID { get; set; }
public Foo()
{
ID = 1;
}
}
Ich glaube nicht, dass "Lazy" in Bezug auf den GC in jeder Hinsicht etwas Besonderes ist. –
CodesInChaos