我发现在我的每个查询(需要自己的命令或写参数.clear())上编写一个using语句非常烦人,有时需要在using块之外声明变量.与没有处理物体的版本相比,它非常令人烦恼并且看起来更脏.
我需要处理它吗?如果我不这样做会发生什么?我知道在有对象时处理对象的好习惯.
从Reflector快速浏览一下,它似乎在其PreparableStatement上调用CloseStatement(),然后在其超类上调用Dispose(),包括System.ComponentModel.Component.在链的某个地方,它最终调用NativeDriver.CloseStatement32(id),它将命令写入连接流.
这不是我想要跳过的事情.为何冒风险?
这是你需要调整自己思维的时候之一.你可能认为using看起来很"脏",但是 - 就像新鲜的油在齿轮系统上闪闪发光 - 它实际上是清洁的标志.你可能能够写一个抽象来隐藏它,但你不应该摆脱它.