'对象'不包含'添加'的定义

时间:2016-05-21 10:34:31

标签: asp.net asp.net-mvc

Android Studio

在这一行:

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Web;
 using System.Web.Mvc;
 using System.Web.Optimization;
 using System.Web.Routing;

namespace Bloggers_Area
 {
     public class MvcApplication : System.Web.HttpApplication
     {
         public static object Filters { get; private set; }

        public static void RegisterGlobalFilters(GlobalFilterCollection fiters)
         {
             Filters.Add(new HandleErrorAttribute());
         }

        public static void RegisterRoutes(RouteCollection routes)
         {
             routes.IgnoreRoute("{resource}.axd/{pathInfo}");

            routes.MapRoute(
                 "Default", // Route Name
                 "{controller}//{action}/{id}", //URL with parameters
                 new { Controller = "Login", action = "Login", id = UrlParameter.Optional } // Parameter Deafults
                 );
         }
             protected void Application_Start()
         {
             RegisterGlobalFilters(GlobalFilters.Filters);
             RegisterRoutes(RouteTable.Routes);
         }
     }
 }

它一直在说

  

'对象'不包含'添加'的定义没有延伸   方法'添加'接受类型'对象'的第一个参数。可能   找到。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

目前,在您的方法RegisterGlobalFilters中,您引用属于Filters的属性object。相反,您应该引用类型为filters的方法参数f(从小写GlobalFilterCollection开始):

public static void RegisterGlobalFilters(GlobalFilterCollection fiters)
{
    // lowercase f in line below
    filters.Add(new HandleErrorAttribute());
}

答案 1 :(得分:0)

嗯,您声明的属性类型为object

public static object Filters { get; private set; }

object方法Add确实是does not contain a definition。正如错误所说,你不能称之为不存在的方法。

也许您打算在传递给方法的filters上调用它?:

filters.Add(new HandleErrorAttribute());

在这种情况下,您可能还可以完全删除Filters属性,因为没有任何内容可以使用它。