A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马-许泽宇 中级黑马   /  2012-6-24 02:24  /  2137 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

杨老师一直提到的idisposable接口的对象可以用using接口来进行管理,自动执行dispose。可是如果不是idisposable的接口对象用了using会发生什么呢.
会不会报错.除了idisposable接口的对象其他不同情况的对象用using都各会发生些什么呢.

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

3 个回复

倒序浏览
1,Object有默认的Dispose,如果你没有需要释放的对象,一般就不需要实现IDisposable接口;
2,例示的对象必须实现System.IDisposable接口,using语句定义了哪个对象将被清除的一个范围;
3,当控制从using块通过成功运行到结束,相应类的IDispose.Dispose()将会被执行。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
没有实现IDisposable接口的对象使用using语句的话,会报错,而且在用using时也有提示,可以自己写个类试试

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
会报错,你可以自己试试,用using的话出范围会调用IDispose.Dispose(),没有实现就没相关方法调用。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马