Что такое «раздутый тип»? - PullRequest
5 голосов
/ 26 марта 2020

В документации Unity говорится о раздутом типе , например, здесь:

Значение поля не может быть спецификацией c специализации тип c (надутый тип).

Что это значит в точности?

1 Ответ

7 голосов
/ 26 марта 2020

Документация Mono , на которой вполне может основываться терминология Unity (с внутренним использованием Unity Mono), определяет его как синоним экземпляра типа, то есть тип generi c с конкретными типами, назначенными для его типовые параметры c:

Терминология

Тип / метод создания экземпляра == Тип / экземпляр метода == Завышенный тип / метод.

Следовательно, в предложении, которое вы цитируете из документации Unity, звучит так, будто «раздутый тип» означает более короткий путь к express полному «спецификациям c специализации обобщенного c типа».

Другими словами, значение поля не должно быть универсального c типа с предоставленными параметрами типа.

Если я могу рискнуть предположить, это может иметь какое-то отношение к типичному трудность, с которой вы всегда сталкиваетесь при попытке написать сериализацию / десериализацию для произвольных объектов. NET - если вы работаете с не универсальными типами c, все в порядке и GetType().FullName wi Я дам вам полное имя класса, которое может быть решено снова после десериализации. Однако, как только вы встретите обобщенный тип c, GetType().FullName вернет только количество аргументов типа, поэтому и List<string>, и List<int> станут "System.Collections.Generic.List`1", откуда вы вернетесь к исходным типам. только с дополнительной работой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...