Sdílet prostřednictvím


CA2004: Odebrat volání do GC.Udržení naživu

Název_typu

RemoveCallsToGCKeepAlive

CheckId

CA2004

Kategorie

Microsoft.Reliability

Změnit rozdělení

Bez rozdělení

Příčina

Použití třídy SafeHandle , ale stále obsahují volání na GC.KeepAlive.

Popis pravidla

Pokud převádíte na SafeHandle využití, odeberte veškerá volání GC.KeepAlive (objekt).V tomto případě by není třeba volat třídy GC.KeepAlive,za předpokladu, že nemají finalizačních metod, ale spoléhat na SafeHandle dokončíte popisovač OS.Přestože náklady v volání GC.KeepAlive může být zanedbatelný, měřený výkon vnímání, volání GC.KeepAlive je nezbytné a dostačující k vyřešení problému, který může existovat provede kód těžší udržet životnost.

Jak opravit porušení

Odebrat volání na GC.KeepAlive.

Při potlačení upozornění

Toto upozornění můžete potlačit, pouze pokud není technicky správný převod na SafeHandle využití ve své třídě.