private void RemoveLazyValues(IDictionary <string, object> data, out IDictionary <string, object> lazyValues, out IDictionary <string, object> nonLazyValues) { lazyValues = new Dictionary <string, object>(StringComparer.InvariantCultureIgnoreCase); nonLazyValues = new Dictionary <string, object>(StringComparer.InvariantCultureIgnoreCase); foreach (var key in data.Keys) { if (_lazyExpressionResolver.CanResolve(data[key])) { lazyValues.Add(key, data[key]); } //else //{ nonLazyValues.Add(key, data[key]); //} } }
public IKeyword ParseKeyword(string command) { var option = FollowupOptions.FirstOrDefault(x => x.Matches(command)); if (option != null) { return(option); } command = command.Trim(); var template = Keywords.First(x => x.Matches(command)); if (ServiceLocator.IsInitialised()) { ServiceLocator.Instance.Resolve(template); } var parts = new string[] { command.Split(' ').First(), string.Join(" ", command.Split(' ').Skip(1)) }; if (parts.Length == 2 && _lazyExpressionResolver.CanResolve(parts.Last())) { var resolvedParameter = _lazyExpressionResolver.Resolve(parts.Last()) as string; var newInstance = CreateNewInstanceViaReflection(parts.First()); newInstance.Instruction = /*parts.First() + ' ' +*/ resolvedParameter; return(newInstance); } //command = Normalize(command); var instance = CreateNewInstanceViaReflection(parts.First()); if (!string.IsNullOrEmpty(parts.Last())) { instance.Instruction = parts.Last(); } return(instance); }