Создание динамических универсальных шаблонов во время выполнения с использованием Reflection

Я пытаюсь преобразовать Словарь < динамический , динамический > в статически типизированный, путем изучения типов ключей и значений и создания нового Словаря соответствующих типов с помощью Reflection. Если мне известны типы ключа и значения, я могу сделать следующее:

Type dictType = typeof(Dictionary<,>);

        newDict = Activator.CreateInstance(dictType.MakeGenericType(new Type[] { keyType, valueType }));

Однако мне может потребоваться создать, например, Словарь < MyKeyType , динамический > если значения не одного типа, и я не могу понять, как указать динамический тип, поскольку

typeof(dynamic)

нежизнеспособен.

Как мне это сделать, и / или есть более простой способ выполнить то, что я пытаюсь сделать?

6
задан BoltClock 27 February 2011 в 10:27
поделиться