如果我的类(class)在其构造函数中使用了一次性资源(如果重要,请使用DbConnection),我应该在我的类(class)中实现IDisposable并处置DbConnection对象,还是让用户处理DbConnection处置?

当前,我在类中实现了IDisposable,但是现在我看到了一些可能的负面影响:困惑的类设计,如果使用不正确,则会重复处理DbConnection。但也有一些积极的方面:简单的使用是主要的使用(特别是如果您使用多个一次性参数)。

在“狂野”中,我看到了两种方法,所以我无法决定。

更新:
谢谢大家的回答,事实上,这表明有时候确实不是一个简单的选择。而且也很难选择正确的答案。但是,我决定在将来继续遵循最简单的方法。所以最后的选择是:不实现IDisposable。

最佳答案

无论创建者是谁,都应处置它-与创建它的范围相同。创建一个对象,负责处理它。就那么简单。

09-30 08:52