C# 关于泛型类型的澄清
给定下面的代码块(源代码:)。。。我收到此错误:使用泛型类型“System.Collections.generic.List”需要“1”类型参数 我只需将我的声明修改为:C# 关于泛型类型的澄清,c#,.net,generics,C#,.net,Generics,给定下面的代码块(源代码:)。。。我收到此错误:使用泛型类型“System.Collections.generic.List”需要“1”类型参数 我只需将我的声明修改为:var-groups=newlist(),就可以解决这个问题这只是示例代码中语法无效的一种情况吗?然而,我在这里问这个问题,因为我不止一次遇到过这个问题,我想知道在我的VS环境中是否存在某种VS.NET“严格设置” public class GroupController : Controller { public Ac
var-groups=newlist(),就可以解决这个问题代码>这只是示例代码中语法无效的一种情况吗?然而,我在这里问这个问题,因为我不止一次遇到过这个问题,我想知道在我的VS环境中是否存在某种VS.NET“严格设置”
public class GroupController : Controller
{
public ActionResult Index()
{
var groups = new List();
return View(groups);
}
/// another example...
Assert.IsInstanceOfType(result.ViewData.Model, typeof(IEnumerable)); // same error
Assert.IsInstanceOfType(result.ViewData.Model, typeof(IEnumerable<string>)); // corrected
}
公共类GroupController:Controller
{
公共行动结果索引()
{
变量组=新列表();
返回视图(组);
}
///另一个例子。。。
Assert.IsInstanceOfType(result.ViewData.Model,typeof(IEnumerable));//相同错误
Assert.IsInstanceOfType(result.ViewData.Model,typeof(IEnumerable));//已更正
}
这是链接网页中的错误。如果查看HTML源代码,可以看到泛型类型参数有一个参数:
namespace ContactManager.Controllers
{
public class GroupController : Controller
{
public ActionResult Index()
{
var groups = new List<Group>();
return View(groups);
}
}
}
namespace ContactManager.Controllers
{
公共类GroupController:Controller
{
公共行动结果索引()
{
变量组=新列表();
返回视图(组);
}
}
}
同样的情况也适用于上述示例(或者,在您的问题中,如下所示):
//断言
Assert.IsInstanceOfType(result.ViewData.Model,typeof(IEnumerable));
是的,这似乎是示例代码呈现为HTML的方式中的一个错误是的,这在呈现的示例代码中是无效语法
增加混淆的一点是在代码中同时使用IEnumerable
和IEnumerable
。这没关系,因为IEnumerable
和IEnumerable
是不同的类型。第一种是非属的,第二种是属的
将其与列表
进行比较-没有非通用的列表
类型。(最接近的等价物是ArrayList
)感谢所有快速响应!我应该澄清一下,这两条IEnumerable行是我为了简洁而添加的。
// Assert
Assert.IsInstanceOfType(result.ViewData.Model, typeof(IEnumerable<Group>));