public void SetAssigns(IEnumerable <string> lines) { var currentGroup = KeyAssignGroup.Global; foreach (var line in lines) { if (String.IsNullOrWhiteSpace(line) || line.StartsWith("#")) { // empty line or comment continue; } if (line.StartsWith("[")) { // grouping tag if (!Enum.TryParse(line.Substring(1, line.Length - 2), true, out currentGroup)) { throw new ArgumentException("This group tag is not valid. :" + line); } } else { var binding = KeyAssign.FromString(line); this.SetAssign(currentGroup, binding); } } }
public void SetAssign(KeyAssignGroup group, KeyAssign assign) { IList <KeyAssign> bindings; var targetDic = GetDictionary(group); if (targetDic.TryGetValue(assign.Key, out bindings)) { bindings.Add(assign); } else { targetDic.Add(assign.Key, new List <KeyAssign>(new[] { assign })); } }
public void SetAssign(KeyAssignGroup group, KeyAssign assign) { IList<KeyAssign> bindings; var targetDic = GetDictionary(group); if (targetDic.TryGetValue(assign.Key, out bindings)) { bindings.Add(assign); } else { targetDic.Add(assign.Key, new List<KeyAssign>(new[] { assign })); } }