Как получить тип TKey и TValue с помощью словаря <TKey, TValue> типа

Я хочу получить тип TKey и TValue с типом Dictionary<TKey,TValue>.

например. Если тип Dictionary<Int32,String>, я хочу знать, как получить keyType = typeof (Int32) и valueType = typeof (String)

Ответ 1

Я думаю, что это может быть то, что вы ищете:

Dictionary<int, string> dictionary = new Dictionary<int, string>();
Type[] arguments = dictionary.GetType().GetGenericArguments();
Type keyType = arguments[0];
Type valueType = arguments[1];

Ссылка: Type.GetGenericArguments