1

我在 Windows Phone 中使用本地数据库。是否需要调用 Dispose() 来释放资源以及如何最好地做到这一点?

using (DataContext context = new DataContext(DBConnectionString))
      {
           //
           context.SubmitChanges();
           context.Dispose();
      }
4

3 回答 3

4

这里using调用Dispose()(无论是正常离开还是通过Exception)。你不必。

于 2013-08-28T13:37:31.613 回答
2

Dispose() 被自己调用。你不需要调用它。

作为一项规则:-

“尽可能晚地获取资源,安全时尽快释放”

即,您应该将您的DataContext视为一种资源。

于 2013-08-28T13:40:49.013 回答
2

您在示例中使用的using块会自动确保.Dispose()在块执行完成时调用该块。如果您不使用该关键字,则必须手动调用Dispose()自己。

查看此页面以了解该using语句的作用。

另一方面,DataContext这可能不是您的上下文的最佳名称,因为这对许多 .NET 开发人员来说意味着其他东西。

于 2013-08-28T13:37:57.907 回答