c# - 处置公共数据集
问题描述
我想在表单代码中声明一个类级别数据集。
public partial class Frm_Stazione : Form
{
public Frm_Stazione()
{
InitializeComponent();
}
private readonly DataSet DS = new DataSet();
private void Frm_Stazione_Load(object sender, EventArgs e)
{
………
}
}
之所以这样声明,是因为数据集必须可由不同的 void 访问,并且必须保持可用,直到 Form 关闭。我的问题是:Visual Studio 2019 版,表示此错误:
'IDE0069 DS 一次性字段永远不会被删除'。
当然我错了,这可能是我的错误。代码是用 C# 编写的。
解决方案
好吧,你必须Dispose
DS
实例化,因为它是IDisposable
(即分配一些应该通过释放的非托管.Dispose()
资源):
public partial class MyForm : Form {
...
// Unmanaged resources are allocated ...
private readonly DataSet DS = new DataSet();
...
protected override void Dispose(bool disposing) {
base.Dispose(disposing);
if (disposing) {
// ... Unmanaged resources are released
if (DS != null) { // <- check for null : in order to be on the safe side
DS.Dispose();
}
}
}
...
}
推荐阅读
- c# - 如何使事件跨越多种形式
- r - rstan 将数据存储为矩阵或 data.frame 更快地拟合模型吗?
- java - 无法将文本从外部片段放入 textview?
- vba - SendUsingAccount SendAs 权限但未在索引中找到
- python - Performing a row sum and column sum on a list of lists in python
- powershell - 为什么 Send-MailMessage 无法通过端口 587 使用 STARTTLS 发送
- gulp - 如何修复 Gulpfile 中的浏览器同步和实时重新加载?
- regex - 在python中用“\n”替换所有类型的换行符
- c# - c# / .net 中是否有相当于 MySQL 的 show columns 语句?
- amazon-web-services - 无法获得正确的 URL 重定向到我的网站