CS0176 编译器错误。这是什么意思以及如何解决

Alp*_*ing 1 c# linq asp.net-mvc compiler-errors

我尝试使用 ASP.NET MVC 中的 Linq 从数据库中检索数据。但是当我在不同的类中调用该方法时,我收到编译器错误代码 CS0176:“无法使用实例引用访问成员;而是使用类型名称来限定它”。

我如何调用该方法:

public JsonResult RetrieveDataTable()
    {
        DatabaseHandler.DatabaseHandler dataName = new DatabaseHandler.DatabaseHandler();
        var dataListAssets = dataName.GetDisciplines();

        return Json(dataListAssets, JsonRequestBehavior.AllowGet);
        //return null;
    }
Run Code Online (Sandbox Code Playgroud)

该方法看起来如何:

public static List<DisciplineVM2> GetDisciplines()
    {
        using (var db = new SPIESimpel_DEVEntities())
        {
            return db.tbl_Disciplines
              .Select((x) => new DisciplineVM2() { ID = x.ID, Name = x.Name })
              .ToList();
        }
    }
Run Code Online (Sandbox Code Playgroud)

有人看到出了什么问题并可以帮助我解决这个问题吗?

提前致谢

Ged*_*tis 5

GetDisciplines这意味着您正在尝试从对象实例访问静态方法。您应该使用类名来访问它。

在你的情况下,它将是:

var dataListAssets = DatabaseHandler.DatabaseHandler.GetDisciplines();
Run Code Online (Sandbox Code Playgroud)