Si deve rilevare che GC.MaxGeneration essere costante per tutta la vita dell'applicazione è di per sé un dettaglio di implementazione:
Note per gli implementatori
Per questa implementazione, il valore restituito dalla proprietà MaxGeneration
è garantito di rimanere costante per tutta la durata di un'applicazione di esecuzione .
Questo implica che non solo può essere diverso da MaxGeneration
2
in altre implementazioni del quadro NET, ma può anche variare durante l'esecuzione del programma (a seconda del numero di generazioni utilizzati dal garbage collector al tempo viene chiamato il getter della proprietà).
Altre implementazioni possono anche utilizzare diversi garbage collector a seconda delle circostanze. Ad esempio, Mono può utilizzare lo Boehm non-generational GC (MaxGeneration
sarà sempre 0
) o lo SGen generational GC (che implementa solo due generazioni, quindi MaxGeneration
sarà sempre inferiore o uguale a 1
).
fonte
2013-04-05 12:54:34
Non l'ho provato, ma il vecchio Compact Framework usava un GC non generazionale e 'MaxGeneration' è documentato per restituire 0 in questo caso, quindi forse in CF? –