控制台应用程序中的"非静态字段需要对象引用"错误

Mar*_*ark 0 c# console-application

我在控制台应用程序中收到以下语法错误:

非静态字段,方法或属性"ConsoleApplication1.Program.db"需要对象引用

我怎样才能解决这个问题?我已经阅读了关于制作db静态的建议,但我并不完全理解.

class Program
{      
    private CallContext db = new CallContext();
    private BreachContext bc = new BreachContext();

    static void Main(string[] args)
    {
        var snapshot = db.Calls.Where(x => x.team == "T1").ToList();
Run Code Online (Sandbox Code Playgroud)

Gra*_*ICA 5

您正在创建一个实例CallContext,但仅在您创建实例时Program.

但是,它Main是静态的并且不需要实例Program,因此dbMain运行时不会实例化.

当你需要它时,我只是 Main中实例化它.如果它是一次性的,您也可以考虑将其包装在一个using声明中.

static void Main(string[] args)
{
    var db = new CallContext();

    var snapshot = db.Calls.Where(x => x.team == "T1").ToList();
Run Code Online (Sandbox Code Playgroud)