相关疑难解决方法(0)

GC.SuppressFinalize有保证吗?

我在实践中的观察结果GC.SuppressFinalize并不总能抑制对终结者的召唤.可能是终结器被调用了.我想知道是否GC.SuppressFinalize具有请求的性质而不是系统的保证


更多信息

如果需要,以下信息可能有助于为问题提供更多背景信息.

GC.SuppressFinalize文件总结确实状态是一个请求:

请求系统不为指定对象调用终结器.

我想知道这是偶然使用这个词还是真正用于描述运行时行为.

我已经SingletonScopeSchnell项目中看到了以下课程,该课程基于Ian Griffiths的一个原创想法,除了它更为一般化.我们的想法是在调试版本中检测Dispose方法是否被调用.如果没有,终结者将最终开始,并且可以发出警告.如果Dispose被调用GC.SuppressFinalize 则应防止终结器被触发.不幸的是,警告似乎无论如何都会发生,但不是以确定的方式.也就是说,他们不会在每次奔跑中开火.

#region License, Terms and Author(s)
//
// Schnell - Wiki widgets
// Copyright (c) 2007 Atif Aziz. All rights reserved.
//
//  Author(s):
//      Atif Aziz, http://www.raboof.com
//
// This library is free software; you can redistribute it and/or modify it 
// under the terms of the …
Run Code Online (Sandbox Code Playgroud)

c# garbage-collection

6
推荐指数
1
解决办法
3491
查看次数

标签 统计

c# ×1

garbage-collection ×1