Sdílet prostřednictvím


CA2004: Odeberte volání GC.KeepAlive

TypeName

RemoveCallsToGCKeepAlive

CheckId

CA2004

Kategorie

Microsoft.Reliability

Narušující změna

Nenarušující

Příčina

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

Popis pravidla

Při převodu do SafeHandle využití, odeberte všechna volání GC.KeepAlive (objekt).V takovém případě by neměly mít třídy volání GC.KeepAlive,za předpokladu, že nemají finalizační metody, ale spoléhat na SafeHandle k dokončení popisovač operačního systému. Přestože náklady na ukončení volání GC.KeepAlive může být zanedbatelný, měřeno výkonností vnímání, volání GC.KeepAlive je nezbytné a dostačující k řešení problému, který již neexistuje dělá těžší Udržovat kód života.

Jak vyřešit porušení

Odebrat volání GC.KeepAlive.

Kdy potlačit upozornění

Můžete potlačit toto upozornění pouze v případě, že není technicky správné převést SafeHandle využití ve vaší třídě.