放<>是什么意思在代码?

时间:2014-04-23 12:36:22

标签: c# .net

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

var model = new TenantPageViewData<Tenant>(contentModel)

我无法理解<MyClass>,将<>放入代码中意味着什么。 另外,如果你可以指导我这方面的文件,那就太棒了。

3 个答案:

答案 0 :(得分:4)

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

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

如果你是C#的新手,一开始看起来会很复杂,但是很多语言都会使用这个功能,所以很快就会花时间非常来学习它。

<小时/> 通过一般文档和答案,在这种特定情况下,TenantPageViewData公开了一个通用参数。您将其视为&#34; TenantPageViewData<> Tenant&#34;。

该类的签名类似于:

public class TenantPageViewData<T> 
{
}

其中T只是一个占位符,您可以在代码中引用,该代码将在编译时变为强类型为您指定的参数类型。

这个类定义可以称为&#34; open&#34;泛型类型,因为占位符T尚未实现。声明var something = new TenantPageViewData<Tenant>()是&#34;已关闭&#34;泛型类型,因为在这个实例中,通用参数现在已知为Tenant

类型标识是每个封闭的泛型类型,因此TenantPageViewData<Tenant>不是TenantPageViewData<Landlord>,而通用类的static成员也会尊重这一点(其中学习泛型是一个常见的陷阱。

<小时/> 其他示例包括List<string>通常读作&#34; List<> string&#34;和滑稽的Cup<T>: - )

答案 1 :(得分:0)

我相信这些类型的括号用于标记泛型。

http://msdn.microsoft.com/en-us/library/ms379564(v=vs.80).aspx

答案 2 :(得分:0)

在C#中,尖括号(&lt;和&gt;)最常用于包含泛型类的参数。例如,.Net框架提供了一个List类,其中&#39; T&#39;表示将包含在列表中的对象的类型。因此,当列表创建为

List<string> myList = new List<string>();

您正在创建一个可用的,类型安全的List类实例。

关于它的一些好消息 here