CA2004: Remove calls to GC.KeepAlive
For the latest documentation on Visual Studio 2017, see Visual Studio 2017 Documentation.
For the latest documentation on Visual Studio 2017, see CA2004: Remove calls to GC.KeepAlive on docs.microsoft.com.
SafeHandle but still contain calls to
If you are converting to
SafeHandle usage, remove all calls to
GC.KeepAlive (object). In this case, classes should not have to call
GC.KeepAlive,assuming they do not have a finalizer but rely on
SafeHandle to complete the OS handle for them. Although the cost of leaving in a call to
GC.KeepAlive might be negligible as measured by performance, the perception that a call to
GC.KeepAlive is either necessary or sufficient to solve a lifetime issue that might no longer exist makes the code harder to maintain.
Remove calls to
You can suppress this warning only if it is not technically correct to convert to
SafeHandle usage in your class.