コード例 #1
0
        /// <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));
        }
コード例 #2
0
 /// <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));
 }
コード例 #3
0
 /// <summary>
 /// Adds the variable to the collection.
 /// </summary>
 /// <param name="variable">The variable.</param>
 public void AddVariable(IResolvedVariable variable)
 {
     _variables.Add(variable.Name, variable);
 }