首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

看不懂下面的代码,

2012-04-10 
看不懂下面的代码,请指教?看到一段代码,好象是处理数据库连接及其它工作的类:publicclassDatabase:IDispos

看不懂下面的代码,请指教?
看到一段代码,好象是处理数据库连接及其它工作的类:
public   class   Database   :   IDisposable   {
//   连接数据源
private   SqlConnection   con;

///   <summary>
///   执行存储过程
///   </summary>
///   <param   name= "procName "> 存储过程的名称 </param>
///   <returns> 返回存储过程返回值 </returns>
public   int   RunProc(string   procName)   {
SqlCommand   cmd   =   CreateCommand(procName,   null);
cmd.ExecuteNonQuery();
this.Close();
return   (int)cmd.Parameters[ "ReturnValue "].Value;
}

不清楚   :   IDisposable   这个是个什么东东?

[解决办法]
继承IDisposable这个接口,至于这是啥。。。msdn查一下
[解决办法]
IDisposable 接口
定义一种释放分配的非托管资源的方法。

代码是否没有贴全呢?在继承了该接口后 应该显示的实现dispose方法才对嘛
[解决办法]
IDisposable 接口
定义一种释放分配的非托管资源的方法。
[解决办法]
继承了一个.netfreamwork内置的接口而已

和继承自己定义的接口 没什么区别

继承IDisposable 就是用来及时释放资源的 而不必等到GC自动回收才释放资源
[解决办法]
接口
[解决办法]
这下代码帖全了,帖了整个屏幕了
[解决办法]
实现这个接口是为了给使用者一个能手动释放对象的机会
例如
object a = ...
//你如何在下一句释放它
a = null ?? //不能确定,只能等待gc来收拾
如果 a 实现了idisposeable
则可
a.dispose();//即可尤其是a 里如果包括一个非托管资源,比如数据库联接,文件句柄等不受框架管理的东东时,尤其重要
还有实现了这个接口,你可以用
using( youclass a = new yourclass )
{
}//到这里a 已经自动释放


[解决办法]
建议楼主一同看下关于接口的资料。我也不是很理解,只能是遇到的时候再去查,不过我知道那是个接口,呵呵

热点排行