bool ICommandExecutorImpl.TryAddToLastParameter(ParameterInfo lastParameter, string value, SortedList <int, object> parameters) { object argValue; if (lastParameter?.ParameterType.IsArray != true) { return(false); } Array existingArray; if (parameters.TryGetValue(lastParameter.Position, out var existingArgValue)) { existingArray = (Array)existingArgValue; } else { existingArray = Array.CreateInstance(lastParameter.ParameterType.GetElementType(), 0); } argValue = _valueConverter.GetValue(value, lastParameter.ParameterType.GetElementType()); var newArray = existingArray.ExtendAndAdd(argValue); parameters.AddOrUpdate(lastParameter.Position, newArray); return(true); }
public void AddOrUpdateTestSL() { IDictionary <string, string> dic = new SortedList <string, string> { { "key1", "item1" }, { "key2", "item2" }, { "key3", "item3" }, { "key4", "item4" } }; dic.AddOrUpdate("key5", "item5"); Assert.Equal("item5", dic["key5"]); Assert.Equal(5, dic.Count); }