从另一个方法调用方法,没有接受类型的第一个参数的扩展方法

时间:2014-10-21 17:08:34

标签: c# asp.net asp.net-mvc-4

我的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);下遇到了错误和红色下划线,我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:3)

由于错误明确指出,List<T>没有这样的方法。

您可能希望使用循环在列表中的每个项目上调用该方法。

答案 1 :(得分:0)

致电

PostScheduledTasks(item);

如果在名为Class的某个类中声明了此方法,那么您希望将其设为static,并且您想要这样调用它:

Class.PostScheduledTasks(item);

Class内部声明它:

public static void PostScheduledTasks(List<UpdateClass> cells)
{
}
相关问题