CA2004: Quitar las llamadas a GC.KeepAlive
Nombre de tipo |
RemoveCallsToGCKeepAlive |
Identificador de comprobación |
CA2004 |
Categoría |
Microsoft.Reliability |
Cambio problemático |
Poco problemático |
Motivo
Las clases utilizan SafeHandle pero aún contienen llamadas a GC.KeepAlive.
Descripción de la regla
Al efectuar la conversión para utilizar SafeHandle, quite todas las llamadas a GC.KeepAlive (objeto).En este caso, las clases no deberían tener que llamar a GC.KeepAlive,puesto que se supone que no tienen un finalizador sino que dependen de SafeHandle para que se encargue de completar el identificador OS.Aunque el costo de dejar una llamada a GC.KeepAlive puede ser mínimo en términos de rendimiento, la percepción de que una llamada a GC.KeepAlive resulta necesaria o suficiente para solucionar un problema de duración que ya no existe hace que el código sea más difícil de mantener.
Cómo corregir infracciones
Quite las llamadas a GC.KeepAlive.
Cuándo suprimir advertencias
Sólo puede suprimir esta advertencia si no es técnicamente correcto realizar la conversión para el uso de SafeHandle en la clase.