GetElementType
получает только тип элемента для массива, указателя и ссылочных типов.
При переопределении в производном классе,
возвращает тип объекта
охвачены или упомянуты
текущий массив, указатель или ссылка
тип
API отражения не «знает», что List<T>
является общим контейнером и что аргумент типа одного из его созданных типов представляет тип элементов, которые он содержит.
Вместо этого используйте метод GetGenericArguments
, чтобы получить аргументы типа составного типа:
var elementType1 = typeof(List<A>).GetGenericArguments().Single();