/// <summary> /// Substitutes the key placeholders with their respective values. /// </summary> /// <param name="scope">The current lexical scope.</param> /// <returns>A dictionary associating the parameter name to the associated value.</returns> public Dictionary<string, object> GetArguments(KeyScope scope) { Dictionary<string, object> arguments = new Dictionary<string,object>(); foreach (KeyValuePair<TagParameter, string> pair in _argumentLookup) { object value; if (pair.Value == null) { value = pair.Key.DefaultValue; } else { value = scope.Find(pair.Value); } arguments.Add(pair.Key.Name, value); } return arguments; }
void IGenerator.GetText(KeyScope scope, TextWriter writer) { object value = scope.Find(_key); writer.Write(_format, value); }