在研究我工作的项目中的以下代码片段时
var storedObject = _objectStorage.OpenObject(objectId);
PerformActions(storeObject);
我发现storedObject对象是一次性的,需要处理掉。
我的第一次尝试是将PerformActions
括在using
声明中:
using (var storedObject = _objectStorage.OpenObject(objectId))
{
PerformActions(storeObject);
}
但事实证明PerformActions
内至少有一个操作是异步的,因此我得到ObjectDisposedException
。
对于这种情况,您会建议采用哪种重构策略来消除未处理对象的问题?