有没有办法收到GC摧毁元件的通知,通知我哪个元件将要释放了。
解决方案 »
- object强制转换成泛型失败???
- 从数据库查询pdf问题
- 请教网友们,截取字符串时有比substring加indexOf再加Split更高效的方法吗?
- 在向服务器发送请求时发生传输级错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。)
- 急!!!!!如何取gridview中的值?
- openfiledialog对皮肤控件有影响,怎么办?
- smtp 的send方法到底把文件发送到了哪里?
- 怎样把Graphics转化为Bitmap保存?
- [请高手指导]我做了一个自定义的DATAGRID控件,目的无非是将增删改功能集成到其中,但按删除时根本不起作用,按增加记录时给我无端的加了
- C#中在控制台应用中能完美运行的程序不能在窗体应用程序中完美运行,求解!
- AutoGenerateColumns = false错误
- C# TIMER 问题,紧急求助 在线等
当然你主动的调用释放的除外。比如Form的Close时,你是可以决定是否dispose的。当然有点技巧。
对于需要及时释放的资源应使用IDisposable接口
然后再你的 solution 的所有 object 均派生自 MyObject。若要使用一些现成的无法由MyObject派生的类,则把现成的类作为一个成员包装进去。
这是析构,不是 dispose
而且,请问为什么不是同一时间,莫非一个 dispose 了的对象还能够起死复活;
要是不是同一个时间,请教啥时候才是呢。ps:求对象析构后起死回生的办法。
procedure SetMemoryManager(const MemMgr: TMemoryManager);
TMemoryManager = record
GetMem: function(Size: Integer): Pointer;
FreeMem: function(P: Pointer): Integer;
ReallocMem: function(P: Pointer; Size: Integer): Pointer;
end deprecated 'Use TMemoryManagerEx';2、在delphi的VCL.Net中,也有一个Borland.Delphi.System.VCLFreeNotify全局变量可以挂载自己的函数,获得元件释放通知。3、在C#中如何办到,需要method intercept吗?元件是对现有的元件,不是自己写的来源于自己写的同一个祖先。
要跳出.NET(当管理者,而不是被托管者)才办得到。
比如CLR hosting和.net profiler API。