private SCObjectAndRelation GetObjectByID(BuiltInFunctionIDType idType, string objectID, SCConditionCalculatingContext callerContext) { SCCalculatorObjectCache cache = null; if (callerContext.ExtendedData.ContainsKey("SCCalculatorObjectCache")) { cache = (SCCalculatorObjectCache)callerContext.ExtendedData["SCCalculatorObjectCache"]; } if (cache == null) { cache = new SCCalculatorObjectCache(); callerContext.ExtendedData.Add("SCCalculatorObjectCache", cache); } SCObjectAndRelation result = null; if (cache.TryGetValue(idType, objectID, out result) == false) { result = QueryObjectByID(idType, objectID); cache.AddObject(idType, objectID, result); } return(result); }
private SCObjectAndRelation GetObjectByID(BuiltInFunctionIDType idType, string objectID, SCConditionCalculatingContext callerContext) { SCCalculatorObjectCache cache = null; if (callerContext.ExtendedData.ContainsKey("SCCalculatorObjectCache")) cache = (SCCalculatorObjectCache)callerContext.ExtendedData["SCCalculatorObjectCache"]; if (cache == null) { cache = new SCCalculatorObjectCache(); callerContext.ExtendedData.Add("SCCalculatorObjectCache", cache); } SCObjectAndRelation result = null; if (cache.TryGetValue(idType, objectID, out result) == false) { result = QueryObjectByID(idType, objectID); cache.AddObject(idType, objectID, result); } return result; }