我对以下代码以及using语句及其对象处理的范围感到困惑.
using(DbFactory db = new DbFactory())
{
Repository repo = new Repository<someobject>(db);
result = repo.Get(somecondition);
}
Run Code Online (Sandbox Code Playgroud)
在这段代码中,使用块执行后会发生什么DbFactory?using语句中使用
的repo变量范围是什么?
它DbFactory被使用,Repository并且它有一个成员变量,它将保存DbFactory.那么这将处置DbFactory吗?
EDIT1:
Repository repo;
ResultObject result;
using(DbFactory db = new DbFactory())
{
repo = new Repository<someobject>(db);
result = repo.Get(somecondition);
}
public class Repository
{
private _dbFactory;
public Repository(DbFactory dbFactory)
{
_dbFactory = dbFactory;
}
}
Run Code Online (Sandbox Code Playgroud)
现在DbFactory会在using语句之后被处理掉吗?