【问题标题】:CS0176 Compiler error. What does it mean an how do I solve itCS0176 编译器错误。这是什么意思,我该如何解决
【发布时间】:2016-06-17 21:58:36
【问题描述】:

我正在尝试使用 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;
    }

方法的样子:

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();
        }
    }

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

提前致谢

【问题讨论】:

  • 抱歉,忘记提到该方法在 DisciplineVM2 类中

标签: c# asp.net-mvc linq compiler-errors


【解决方案1】:

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

在你的情况下,它会是:

var dataListAssets = DatabaseHandler.DatabaseHandler.GetDisciplines();

【讨论】:

  • @AlphaCoding,嗯,应该或不应该取决于 Microsoft 的 C# 编译器开发人员。我可以告诉你的是,从 C# 6 开始,它一个问题。
猜你喜欢
  • 2013-12-08
  • 1970-01-01
  • 1970-01-01
  • 2012-07-09
  • 1970-01-01
  • 2019-05-17
  • 1970-01-01
  • 2021-07-14
  • 2011-02-15
相关资源
最近更新 更多