Почему BaseType определения универсального типа сам по себе не является определением универсального типа, когда это возможно?

В приведенном ниже примере я пытаюсь понять, почему BaseType не является определением универсального типа и, в более общем смысле, почему оно не просто равно typeof(List<>)

public class MyList<T> : List<T>
{
}

// this is true by definition
typeof(List<>).IsGenericTypeDefinition

// this is false
// also the BaseType.FullName is null ?!?
// also BaseType.IsConstructedGenericType is true ?!?!?
// as such, BaseType != typeof(List<>)
typeof(MyList<>).BaseType.IsGenericTypeDefinition;

ИЗМЕНИТЬ. Вот несколько полезных ссылок по связанным темам:

Разница между Type.IsGenericTypeDefinition и Type.ContainsGenericParameters

Что такое открытый универсальный тип в .NET?

Generics - открытые и закрытые сконструированные типы

Определить, открыт ли общий тип?

https://docs.microsoft.com/en-us/dotnet/api/system.type.isgenerictype

Разница между IsGenericType и IsGenericTypeDefinition


person SFun28    schedule 02.12.2019    source источник
comment
Это может дать вам некоторые идеи   -  person Eldar    schedule 02.12.2019
comment
Это также может быть полезно.   -  person Dalsier    schedule 02.12.2019
comment
Спасибо за ссылки! Я включаю те, что в исходном посте, для справки, а также некоторые другие, которые я нашел.   -  person SFun28    schedule 02.12.2019
comment
Интересно, что документация для Type.BaseType охватывает все случаи, кроме случая определения универсального типа, поэтому, если вы хотите получить техническую информацию, результат даже не определен должным образом. На самом деле возвращается открытый тип List<T> с несвязанным T (т.е. .GetGenericParameters()[0].IsGenericParameter == true). Это небезосновательно, но до сих пор не задокументировано.   -  person Jeroen Mostert    schedule 02.12.2019
comment
@JeroenMostert - я нашел то же самое; Я прочитал документацию примерно 5 раз, чтобы убедиться, что ничего не упустил, но это не решено! Я согласен, что это разумно, но кажется неоптимальным и не таким интуитивным, как возврат определения универсального типа.   -  person SFun28    schedule 05.12.2019