Как написать функцию, чтобы взять любой объект с оператором индекса

Я думаю, что спрашивал об этом в контексте C ++ (не могу найти его в моей истории вопросов !!) в прошлом, и решение было использовать функцию шаблона. Как шаблон C ++ разрешается во время компиляции, он работает. Но для C # это не так.

public Hashtable ConvertToHashtable<T>(T source) where T has an index operator
{
    Hashtable table = new Hashtable();
    table["apple"] = source["apple"];

    return table;
}

В настоящее время одним из применений является преобразование результата в OleDbReader в хеш-таблицу, но я ожидаю, что скоро потребуется больше типов источников.

Ответы на вопрос(4)

Ваш ответ на вопрос