在这种情况下如何处理资源

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 仅适用于非托管资源。