在csharp或vb.net中,我们使用using
语句的原因是我们知道的:一个人可以自动打开和关闭数据库,而不需要显式地写它。我想在VBA
- 怎么做?
- 都是VB。. NET语句/keywords/在VBA中可用?
- 如何告诉如果一个给定的语句是(是)已知的VBA ?是否有所有VBA语句/关键字/操作符的库(术语表)?
using(var db=new MyDbContext()){
//do work here
}
vb.net Using s = New MyDbContext()
'--..do work here
End Using
回答你的第一个问题,正如你所暗示的,Using
只是在实现IDisposable
接口的对象实例上调用Dispose()
的语法糖。
等于
Dim s as MyDbContext
Try
s = New MyDbContext()
// ...
Finally
s.Dispose()
End Try
由于VBA
不支持Using
糖,并且在缺乏结构化Try..Catch
异常处理的情况下,您需要在控制对象生命周期的所有路径上显式调用Dispose()
(在您的示例中为MyDbContext
)。在这种情况下,您还不如直接使用.Close()
没有与Using
语句等价的VBA。
VBA开发人员文档提供了VBA文档的示例甚至可下载的离线版本。