Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
431 views
in Technique[技术] by (71.8m points)

c# - CS0176 Compiler error. What does it mean an how do I solve it

Im trying to retrieve data from my database with Linq in ASP.NET MVC. but when I call the method in a different class, I get the compiler error code CS0176:"Member cannot be accessed with an instance reference; qualify it with a type name instead".

How I call the method:

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

        return Json(dataListAssets, JsonRequestBehavior.AllowGet);
        //return null;
    }

How the Method Looks like:

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

Does someone see whats wrong and can help me solve this problem?

Thanks in Advance

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

It means that you are trying to access a static method GetDisciplines from an object instance. You should instead access it using the class name.

In your case, it would be:

var dataListAssets = DatabaseHandler.DatabaseHandler.GetDisciplines();

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...