C#:在可以显示类型名的地方可以使用构造的类型?
从: 包含至少一个类型参数的类型称为 构造类型。构造类型可以在中的大多数位置使用 可以显示类型名称的语言 我从这句话中了解到,包含一个类型参数(即使在需要更多参数的情况下)就足以将泛型类型称为“构造类型”,并在类型声明中使用 能否提供一个泛型类型的示例,该泛型类型具有多个类型参数,这些参数仅通过指定一个参数来构造,并在可以显示类型名称的位置使用 编辑1 该定义可能应理解为: 包含所有必需类型参数的类型称为 构造类型 这意味着:泛型定义附带一定数量的类型参数。构造的类型是通过传递所有必需的参数来创建的,这些参数可以是开放类型,也可以是封闭类型 此外,我们还可以对泛型类型进行某种“重载”,其中C#:在可以显示类型名的地方可以使用构造的类型?,c#,generics,C#,Generics,从: 包含至少一个类型参数的类型称为 构造类型。构造类型可以在中的大多数位置使用 可以显示类型名称的语言 我从这句话中了解到,包含一个类型参数(即使在需要更多参数的情况下)就足以将泛型类型称为“构造类型”,并在类型声明中使用 能否提供一个泛型类型的示例,该泛型类型具有多个类型参数,这些参数仅通过指定一个参数来构造,并在可以显示类型名称的位置使用 编辑1 该定义可能应理解为: 包含所有必需类型参数的类型称为 构造类型 这意味着:泛型定义附带一定数量的类型参数。构造的类型是通过传递所有必需的参数来创
队列
是来自队列
(以及来自队列
,队列
等)的另一种类型
名称空间小部件
{
类队列{…}
类队列{…}
}
每种类型都有一组参数;要识别类型,必须使用所需参数的确切数量,而不是“至少一个”。
所以,也许“至少一个”意味着,当你看到一个带有“至少一个”类型参数的声明时,你可以知道这是一个构造的泛型 类似List的抽象形式称为泛型类型 像List
typeof(列表)
是“开放”或泛型类型。参数尚未设置。它对构造类型开放:“构造类型”
与
typeof(List).MakeGenericType(typeof(int));
你达到了与使用相同的效果
typeof(List<int>)
typeof(列表)
generic type具有多个类型参数,这些参数由指定一个参数构造,但没有语法。您可以指定无C
或全部C
。您不能只指定一些C
。已经处理了“开放类型”的问题。但就在我引用的定义之后,我们有:“构造类型是开放类型当且仅当其一个或多个类型参数是开放类型。构造嵌套类型是开放类型当且仅当其一个或多个类型参数或其包含类型的类型参数是开放类型。”因此构造的类型仍然可以打开。怎么可能呢?在需要类型的地方,这样一个构造的类型怎么会出现呢?@AgostinoX在你的引语上方是:“一个类型参数定义了一个开放类型。”<代码>类C{List field;}<代码>列表这里是构造的,是开放式的。我读了很多像你说的问题,我的问题是关于“构造”的概念,而不是开放/封闭的概念。
typeof(List<>)
typeof(List<>).MakeGenericType(typeof(int));
typeof(List<int>)