自做类库中资源释放问题

jason176374 2010-11-04 05:13:53
现在我的程序结构是这样的。
应用程序 A 界面显示
类库 B, 操作串口

我在B的析构函数中调用了CloseHandle。
但是LOG发现,在A程序关闭的时候,没有调用该析构函数。

我对C#的析构方式不是很了解。
看网上资料有,Dispose,Finalize等方式。

我想问一下,有没有一种析构方式,
只要程序退出关闭,就一定会自动执行的?

不用A程序显示的调用也可以自动执行的。
我尝试了在类库中重载Dispose等方法,但是程序关闭时该方法没有被调用。

请指教。谢谢
...全文
66 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gomoku 2010-11-05
  • 打赏
  • 举报
回复
建议你搜索并看一下SafeHandle的帮助和例子(他们保证即使AppDomain不正常关闭也能释放资源):
CriticalFinalizerObject
SafeHandle
jason176374 2010-11-05
  • 打赏
  • 举报
回复
我只做类库,调用方的程序已经写好不再修改。
因此我不能再写一个接口让对方调用。

所以我想有没有什么办法,在我这个类的对象结束生命周期的
时候,一定会被调用的一个方法。
phil999 2010-11-04
  • 打赏
  • 举报
回复
如果实现 IDisposable 接口,就必须明确调用 Dispose,using 语句就是专门给 IDisposable 设计的

C#里的析构函数没用过

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧