, "" . , , .
public class DbSomething : IDisposable
{
private SqlConnection _connection;
public DbSomething (SqlConnection connection){
_connection = connection;
}
~DbSomething() {
Dispose(true);
}
bool disposed = false;
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (disposed)
return;
if (disposing)
{
_connection.Dispose();
}
disposed = true;
}
}
, IDisposable , , - ? , .
,
public class DbSomething : IDisposable
{
private SqlConnection _connection;
public DbSomething (){
_connection = new SqlConnection();
}
}
SqlConnection. , . , , SqlConnection ?
public class DbSomething
{
public SqlConnection Connection;
public DbSomething (){
Connection = new SqlConnection();
}
}
, , , . factory , , . , , , , , .
, , :
public class DbSomething
{
public SqlConnection CreateSqlConnection () => return new SqlConnection();
}