对于我的特定用例,有必要使用SPSecureableObject
代替SPWeb
,SPList
或SPItem
,将这些内容汇总到一个列表中。
所以这样......
List<SPSecurableObject> objects = generateRelevantObjects();
foreach (SPSecurableObject o in objects)
{
//do something with objects
--- Afterwards Dispose() ---
}
...会导致无法Dispose()SPWeb
- 列表中包含的对象。
当然,可以创建这样的if语句。
if(o is SPWeb){
((SPWeb)o).Dispose();
}
然而,这种方法对我来说似乎并不优雅。
有没有其他可能实现这一目标?
或者处理包含所有这些元素的SPSite
是否会自动处理包含的每个元素?