c# - 什么是“膨胀型”?
解决方案
Mono 的文档,Unity 的术语很可能基于(Unity 内部使用 Mono),将其定义为类型实例的同义词,即具有分配给其泛型类型参数的具体类型的泛型类型:
术语
类型/方法实例化 == 类型/方法实例 == 膨胀类型/方法。
因此,在您从 Unity 文档中引用的句子中,听起来“膨胀类型”是一种更短的方式来表达“泛型类型的特定专业化”的整体性。
换句话说,字段值不能是具有提供类型参数的泛型类型。
如果我可能冒险猜测,这可能与您在尝试为任意 .NET 对象编写序列化/反序列化时经常遇到的典型困难有关 - 只要您使用非泛型类型,一切都很好并且GetType().FullName
会给你完整的类名,可以在反序列化时再次解析。但是,一旦遇到泛型类型,GetType().FullName
只会返回类型参数的数量,因此两者都List<string>
将List<int>
变为"System.Collections.Generic.List`1"
,从那里您只需做一些额外的工作就可以返回原始类型。