首页 新闻 会员 周边

Using中可以放托管资源吗

0
悬赏园豆:5 [已解决问题] 解决于 2012-02-02 14:50

大家知道Using的用途是清理非托管资源,不受GC控制的资源。如果在Using中放托管方法可不可以呢?

阿拉米斯的主页 阿拉米斯 | 初学一级 | 园豆:92
提问于:2012-02-02 08:43
< >
分享
最佳答案
0

using(IDisposable A = new AnyDisposableClass()){

  // coding...

}

==>

IDisposable A;

try{

   A = new AnyDisposableClass();

   // coding...

}

finally{

  A.Dispose();

}

大概这么个意思,IDisposable接口就是用来做资源释放的,主要是释放非托管的资源。其实通常的实现中,托管非托管都被Dispose方法释放掉了。要看具体怎么实现。

这些和using都没啥直接联系了。using就是个编译器的玩具。

收获园豆:3
Jason Go | 菜鸟二级 |园豆:298 | 2012-02-02 14:14
其他回答(1)
0

Using 只是一种语法糖。用于执行完代码块之后。自动调用 Dispose方法用的。原则上只要是实现了IDisposable接口。就可以用using语法。

收获园豆:2
周一仙 | 园豆:207 (菜鸟二级) | 2012-02-02 10:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册