在这种情况下如何处理资源
How to Dispose resources in this condition
我有一个class这样的。
Class {
DataTable GetDetails(){
DataTable dt = new DataTable;
try{
dt = // assigning records here.
return dt;
}
catch{
}
finally{
}
}
}
其他classes也使用了这个方法。
在这个场景中如何实现IDispose,它会产生什么好的影响?
我是 C# 的新手,我刚刚阅读了有关处置的内容,但我无法清楚地说明这一点
在我的情况下实施。
如何释放这个数据表?
您正在 returning DataTable 类型实例,因此必须在使用它的 类 / 实例中处置或释放它。或者更改模式和 return 从 DataTable 实例中提取的内容并在 finally / catch 中处理数据表。
没有理由为此 class 实施 IDisposable。 IDisposable 仅适用于 unmanaged 资源:如套接字、文件句柄、GDI 资源、数据库连接和委托订阅。 class 使用了其中的 none 个。
My doubt is since I am passing somewhat huge data, is it good to dispose or not?
传递大量数据无关紧要:那仍然是内存,内存是一种托管资源。同样,IDisposable 仅适用于非托管资源。
我有一个class这样的。
Class {
DataTable GetDetails(){
DataTable dt = new DataTable;
try{
dt = // assigning records here.
return dt;
}
catch{
}
finally{
}
}
}
其他classes也使用了这个方法。 在这个场景中如何实现IDispose,它会产生什么好的影响?
我是 C# 的新手,我刚刚阅读了有关处置的内容,但我无法清楚地说明这一点 在我的情况下实施。
如何释放这个数据表?
您正在 returning DataTable 类型实例,因此必须在使用它的 类 / 实例中处置或释放它。或者更改模式和 return 从 DataTable 实例中提取的内容并在 finally / catch 中处理数据表。
没有理由为此 class 实施 IDisposable。 IDisposable 仅适用于 unmanaged 资源:如套接字、文件句柄、GDI 资源、数据库连接和委托订阅。 class 使用了其中的 none 个。
My doubt is since I am passing somewhat huge data, is it good to dispose or not?
传递大量数据无关紧要:那仍然是内存,内存是一种托管资源。同样,IDisposable 仅适用于非托管资源。