我真的不明白,我所有的学习只会让我更困惑。
代码片段:
namespace Family_Finances
{
class sqlStuff
{
private SQLiteConnection m_dbConnection;
//DialogResult msgBoxResult = DialogResult.Ignore;
//string myDirectory;
public int beepFreq = 880;
public int beepLength = 500;
private SQLiteConnection dbConn;
private string dbSelect()
{我想要做的是创建一个类,不用担心我甚至还没有引用它,它是可重用的,并将我所有的sqlite支持代码放在一个类中。
我已经恢复到原来的代码,因为我已经尝试了所有的内置更正,并且粪堆不断变得更深,包括在main Namespace中更改代码,在那里它甚至没有被引用。
我希望我的db_conn在整个类中都是可用的,这样我就不必在每个引用之间传递它。
有两个我知道我有问题的概念...
“使用”和"IDisposable“
(我不知道"Using“意味着"Dispose()”,我也不需要"Close()“。不幸的是,我的代码工作正常,我从来没有见过其中有"Dispose()“的例子。也许回到牧民学校学习古希腊语会更容易些?但是,我确实喜欢编码……)
那么我如何修复这个问题,这样我就可以在其他项目中重用代码,就像这个项目一样……
请温文点。我是自学的。而且,很明显,我对框架和C#的理解存在漏洞(深井)。谢谢!
发布于 2018-10-06 20:26:29
根据微软规则,任何包含实现IDisposable接口的字段的类都应该在包含的对象上实现IDisposable模式。您的SQLiteConnection对象实现此模式。
这不是严格执行的规则,除非您计划将类作为库使用或将其公开给外部程序集。
示例不完整:
class sqlStuff : IDisposable
{
private SQLiteConnection m_dbConnection;
//DialogResult msgBoxResult = DialogResult.Ignore;
//string myDirectory;
public int beepFreq = 880;
public int beepLength = 500;
private SQLiteConnection dbConn;
public void Dispose()
{
m_dbConnection?.Dispose();
dbConn?.Dispose();
Dispose(true);
GC.SuppressFinalize(this);
}
}https://stackoverflow.com/questions/52678993
复制相似问题