Я делаю сравнение общих объектов, используя отражение и рекурсию. Рекурсивному методу требуется информация о типе на каждом шаге, который задается вызывающим. В какой-то момент я знаю, что следующее свойство - Dictionary<T,U>
, и я хочу отправить правильный тип. Я пришел с этим:Почему мой отраженный тип словаря не реализует IDictionary?
Type dictionaryType = typeof (IDictionary<,>).MakeGenericType(new [] {keyType.PropertyType, typeof(ValueType)});
keyType
Где и ValueType
типы выяснили ранее. Однако этот тип не реализует интерфейс IDictionary<KeyType, ValueType>
, в соответствии с dictionaryType.GetInterfaces()
. Зачем? Это выглядит нравится ...
Пожалуйста, работа, что в небольшой полный фрагмент кода. –
Вы создаете объект 'typeof (IDictionary)'. Это тип интерфейса. Он не может реализовать себя. –
BoltClock
@ Хенк: Неужели, почему? Вопрос скорее теоретический, я бы сказал, и быть runnable не будет давать много информации. – carlpett