Словарь - это боль, так как он не реализует IList
(что-то, о чем я стонал только вчера вечером). Это действительно сводится к тому, что у вас есть в наличии. Устранить метод Add
для int
/ string
достаточно просто, но если вы имеете дело с типичным отражением в списке, вам потребуется метод Add
из ICollection<KeyValuePair<int,string>>
.
Для стандартного использования:
object data = new Dictionary<int, string>();
object key = 123;
object value = "abc";
var add = data.GetType().GetMethod("Add", new[] {
key.GetType(), value.GetType() });
add.Invoke(data, new object[] { key, value });