我的API控制器中有一个方法,我试图从类中调用一个方法,但是我收到了这个错误:
Error 1 'System.Collections.Generic.List<MvcApplication1.Models.UpdateClass>' does not contain a definition for 'PostScheduledTasks' and no extension method 'PostScheduledTasks' accepting a first argument of type 'System.Collections.Generic.List<MvcApplication1.Models.UpdateClass>' could be found (are you missing a using directive or an assembly reference?) \\psf\Home\Documents\Visual Studio 2012\Projects\MvcApplication1\MvcApplication1\Controllers\UpdateController.cs 18 18 MvcApplication1
我正在使用我的模型:
using MvcApplication1.Models;
这就是我如何调用API控制器中的方法
namespace MvcApplication1.Controllers
{
public class UpdateController : ApiController
{
private List<UpdateClass> cells;
[HttpPost]
public dynamic Post([FromBody]List<UpdateClass> item)
{
item.PostScheduledTasks(item);
return item;
}
}
}
以下是类中的方法:
public void PostScheduledTasks(List<UpdateClass> cells)
{
}
但我在item.PostScheduledTasks(item);
下遇到了错误和红色下划线,我该怎么做才能解决这个问题?
答案 0 :(得分:3)
由于错误明确指出,List<T>
没有这样的方法。
您可能希望使用循环在列表中的每个项目上调用该方法。
答案 1 :(得分:0)
致电
PostScheduledTasks(item);
如果在名为Class
的某个类中声明了此方法,那么您希望将其设为static
,并且您想要这样调用它:
Class.PostScheduledTasks(item);
在Class
内部声明它:
public static void PostScheduledTasks(List<UpdateClass> cells)
{
}