Удалите SPWeb, который возвращается из функции
У нас есть код, где иногда мы будем возвращать объект SPWeb из функции. Так, например:
public SPWeb getDeptWeb()
{
SPWeb deptWeb = SpSite.OpenWeb(SpContext.Web.ID);
...
return deptWeb;
}
Как мы можем избавиться от объекта SPWeb в этом случае? Или достаточно разместить его там, где мы принимаем возвращаемый параметр?
1 ответ
Решение
Лучший способ, вероятно, избавиться от SPWeb
в вызывающей программе, например, с помощью оператора using:
public SPWeb getDeptWeb()
{
SPWeb deptWeb = SpSite.OpenWeb(SpContext.Web.ID);
// ...
return deptWeb;
}
public void Foo()
{
using (SPWeb deptWeb = getDeptWeb()) {
// Do something with the website...
}
}