【发布时间】:2017-01-28 10:03:28
【问题描述】:
我需要编写返回List 中泛型类的子级的方法。我写了这样的东西:
static List<Model<T>> Get<T>( string value ) where T : Model<T>
{
switch( value )
{
case "ROLE":
return GetRoles();
}
return new List<Model<T>>();
}
GetRoles() 返回List<Role>,其中Role : Model<Role>。
但 Visual Studio 告诉我它无法将 List<Role> 转换为 List<Model<T>>。
【问题讨论】:
-
为了将来参考,这是一个通用方法而不是模板函数。 C++ 模板和 C# 泛型相似但不相同 - 请参阅 msdn.microsoft.com/en-us/library/c6cyy67b.aspx
-
类也是通用的?
-
是的,只要您在 C# 中看到
<...>,它就是 generic 而不是 template。
标签: c# .net linq templates generics