/// <summary> /// Resolves the specified query input value to the .NET object rendered by this resolver. /// </summary> /// <param name="resolvableItem">The resolvable item.</param> /// <returns>object.</returns> public object Resolve(IResolvableItem resolvableItem) { if (resolvableItem is IResolvablePointer pointer) { IResolvedVariable variable = null; var variableFound = this.VariableCollection?.TryGetValue(pointer.PointsTo, out variable) ?? false; if (variableFound) { return(variable.Value); } resolvableItem = pointer.DefaultItem; } return(this.ResolveFromItem(resolvableItem)); }
/// <summary> /// Tries the get value. /// </summary> /// <param name="key">The key.</param> /// <param name="value">The value.</param> /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns> public bool TryGetValue(string key, out IResolvedVariable value) { return(_variables.TryGetValue(key, out value)); }
/// <summary> /// Adds the variable to the collection. /// </summary> /// <param name="variable">The variable.</param> public void AddVariable(IResolvedVariable variable) { _variables.Add(variable.Name, variable); }