我是.NET C#的新手,我正在阅读以下代码:
var model = new TenantPageViewData<Tenant>(contentModel)
我无法理解<MyClass>
,将<>
放入代码中意味着什么。
另外,如果你可以指导我这方面的文件,那就太棒了。
答案 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。