“开放泛型类型”只是一种尚未指定其类型的泛型类型(例如CargoCrate<T>)。一旦分配了具体类型(例如CargoCrate<Widget>),它就变为“关闭” 。例如,假设你有这样的事情:public class Basket<T> {
T[] basketItems;}public class PicnicBlanket<T> {
Basket<T> picnicBasket; // Open type here. We don't know what T is.}
// Closed type here: T is Food.public class ParkPicnicBlanket : PicnicBlanket<Food> {}这里picnicBasket的类型是开放的:尚未分配任何内容T。当您使用特定类型创建具体类型的PicnicBlanket时(例如,通过编写)PicnicBlanket<Food> p = new PicnicBlanket<Food>(),我们现在将其称为已关闭。