我想知道这是什么?我认为这种通用方法。它有一个'where'部分。那个怎么样?还有我听过的通用课程。我怎么能学到这些可以推荐一篇文章?
protected T Item<T>() where T : class
{
return GetDataItem() as T ?? default(T);
}
答案 0 :(得分:4)
where
子句称为“通用约束”。在这种情况下,where T: class
指示T必须是引用类型(即,不是struct
)。
有关通用约束的更多信息:http://msdn.microsoft.com/en-us/library/d5x73970.aspx 通用类:http://msdn.microsoft.com/en-us/library/sz6zd40f.aspx
修改强>
在你提供的代码片段中,需要约束,因为否则null-coalescing运算符(??)没有意义,因为值类型(struct
s)不能为null。