C# 当.NET对象被销毁时收到通知?

C# 当.NET对象被销毁时收到通知?,c#,destructor,idisposable,C#,Destructor,Idisposable,我想知道,当一个对象被破坏时,是否有可能执行一些C代码 我试图使用IDiposable,但没有调用我的Dispose方法 谢谢。您可以通过垃圾收集通知来完成此操作,该通知允许您在垃圾收集即将完成以及垃圾收集已完成时进行感知和响应 如果对象使用终结器创建类型的实例,保留对该实例的引用,并且不向任何人公开该引用,则当持有唯一引用的对象符合收集条件时,后一个对象的终结器将排队在下一次机会运行。请注意,垃圾收集器不运行终结器;它只是将可终结对象添加到一个列表中,该列表中的终结器应该尽快运行。该列表中的任

我想知道,当一个对象被破坏时,是否有可能执行一些C代码

我试图使用
IDiposable
,但没有调用我的
Dispose
方法


谢谢。

您可以通过
垃圾收集通知来完成此操作,该通知允许您在垃圾收集即将完成以及垃圾收集已完成时进行感知和响应


如果对象使用终结器创建类型的实例,保留对该实例的引用,并且不向任何人公开该引用,则当持有唯一引用的对象符合收集条件时,后一个对象的终结器将排队在下一次机会运行。请注意,垃圾收集器不运行终结器;它只是将可终结对象添加到一个列表中,该列表中的终结器应该尽快运行。该列表中的任何对象,或其持有直接或间接强引用的任何其他对象,在其停止在该列表中之前,均无资格收集。如果您的可终结对象没有包含对该对象的引用的对象的引用,并且如果该其他对象没有自己的终结器,则一旦不存在对该对象的引用,该对象将停止存在;当后一个对象的终结器运行时,前一个对象将不再存在。

您想实现什么?您是否需要更积极地控制对象资源的生存期?这只是诊断用的吗?你读过C#析构函数吗?读过OOP、析构函数、析构函数你可以用finalizer(最接近问题的东西,但不太可能是你想要的东西)。。。当调用
myObj=null
get时,您无法收到通知。。。请解释一下你到底想达到什么目的。析构函数,这就是我需要的,谢谢!您应该仔细考虑是否需要一个终结器。。还有你在里面放了什么。