探究using实现IDisposable的本质
1 protected void Page_Load(object sender, EventArgs e)
2 {
3
4 using (SqlConnection conn=new SqlConnection())
5 {
6 //do some thing
7 }
8
9 }
2 {
3
4 using (SqlConnection conn=new SqlConnection())
5 {
6 //do some thing
7 }
8
9 }
IL查看:
从图中可以看出:是在try{}finally{}中实现。IDisposable是对非托管资源释放,using真正实现的Dispose()是放在finally中实现。