Вы захотите изменить свой метод Fifteen
, чтобы он возвращал KeyValuePair
, а не object
, чтобы вызывающие методы могли получить доступ к данным, которые вы предоставляете (анонимные типы должны толькоиспользоваться, когда они используются в том же методе, что и при создании):
static KeyValuePair<string, int> Fifteen()
{
return new KeyValuePair<string, int>("15", 15);
}
И затем вам нужно будет добавить метод расширения к Dictionary
, чтобы он имел Add
метод, который принимает KeyValuePair
вместо двух аргументов:
public static void Add<TKey, TValue>(this Dictionary<TKey, TValue> dictionary, KeyValuePair<TKey, TValue> pair)
{
dictionary.Add(pair.Key, pair.Value);
}
После чего указанный вами код компилируется и работает просто отлично.