Я написал класс, который вносит различные изменения в содержимое сайта SharePoint. Внутри этого класса я реализовал ленивое разрешенное свойство
private SPWeb rootSite
{
get
{
if ( _site == null )
{
SPSite site = new SPSite( _url );
_site = site.OpenWeb();
}
return _site;
}
}
И SPSite, и SPWeb должны быть утилизированы, и в соответствии с документом Best Practices эта ситуация называется перекрестным шаблоном утилизации ... только они не дают никаких реальных советов о реализовать утилизировать часть шаблона.
Я решил, чтобы мой класс реализовал IDisposable (удаляя сайт и сеть там), и чтобы вызывающий абонент имел к нему доступ через , используя предложение . Было бы это в соответствии с «лучшими практиками», или я должен был решить проблему по-другому?
Обратите внимание, что я пришел со строгим опытом подсчета ссылок, поэтому, пожалуйста, исправьте меня, если мои взгляды на удаление мусора немного отличаются.