gpt4 book ai didi

c# - 把 <> 放在代码中是什么意思?

转载 作者:行者123 更新时间:2023-11-30 20:49:43 24 4
gpt4 key购买 nike

我是 .NET C# 的新手,我正在阅读下面的代码:

var model = new TenantPageViewData<Tenant>(contentModel)

看不懂<MyClass> , 放 <> 是什么意思在代码中。另外,如果您能指导我找到与此相关的文档,那就太好了。

最佳答案

这是为开放通用类型指定类型参数的语法。您可以在此处阅读有关泛型的更多信息:

http://msdn.microsoft.com/en-us/library/512aeb7t.aspx

如果您是 C# 的新手,一开始会觉得它很复杂,但是很多语言都利用了这个特性,所以花时间非常学习它是值得的。


有了一般文档和答案,在这种特定情况下, TenantPageViewData公开一个通用参数。您将其读作“ TenantPageViewData<>Tenant”。

该类的签名类似于:

public class TenantPageViewData<T> 
{
}

在哪里T只是一个您可以在代码中引用的占位符,它会在编译时变成您指定的参数类型的强类型。

此类定义可以称为“开放”泛型类型,因为占位符 T到目前为止,还没有实现。声明var something = new TenantPageViewData<Tenant>()是一个“封闭的”泛型类型,因为泛型参数现在已知为 Tenant在这种情况下。

类型标识是每个封闭的通用类型,所以 TenantPageViewData<Tenant>不是 TenantPageViewData<Landlord> , 和 static泛型类的成员也尊重这一点(这是学习泛型的常见陷阱)。


其他示例包括 List<string>通常读作“ List<>string”,而滑稽的 Cup<T> :-)

关于c# - 把 <> 放在代码中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23244479/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com