Подтвердить что ты не робот

Какая разница или взаимосвязь между типом и типом?

Я не могу полностью понять, когда использовать тот или иной. Они настолько похожи, что меня все это путают. Когда дело доходит до размышлений, я не знаю, использовать ли простой тип или TypeInfo.

Сама .NET Framework добавляет больше путаницы с такими вещами, как assembly.DefinedTypes. Он извлекает IEnumerable<TypeInfo>, где я предполагал, что он будет IEnumerable<Type>. Кроме того, существует метод typeInfo.AsType(). В чем смысл этого? они взаимозаменяемы?

Кроме того, у них есть методы, которые действительно похожи.

Кажется, что TypeInfo похож на более мощную версию классического Type. Я не прав?

Спасибо!

4b9b3361

Ответ 1

В документах MSDN:

Объект TypeInfo представляет собой определение самого типа, тогда как Объект Type представляет собой ссылку на определение типа. Получение Объект TypeInfo заставляет сборку, которая содержит этот тип для загрузки. Для сравнения, вы можете манипулировать объектами типа требуя, чтобы среда выполнения загружала сборку, которую они ссылаются.

Таким образом, Type обеспечивает более мелкое представление данных объекта, то есть предоставление имени типа в виде строки.

Где TypeInfo предоставляет более богатое представление типа, включая списки членов, реализованные интерфейсы и базовый тип.

Различия объясняются более подробно здесь.