Удалите SPWeb, который возвращается из функции - PullRequest
2 голосов
/ 07 декабря 2010

У нас есть код, где иногда мы будем возвращать объект SPWeb из функции. Так, например:

public SPWeb getDeptWeb()
{
    SPWeb deptWeb = SpSite.OpenWeb(SpContext.Web.ID);
    ...
    return deptWeb;
}

Как мы можем избавиться от объекта SPWeb в этом случае? Или достаточно разместить его там, где мы принимаем возвращаемый параметр?

1 Ответ

1 голос
/ 07 декабря 2010

Лучшим способом, вероятно, является избавление от 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...
    }
}
...