首页 > 解决方案 > 具有实例变量的静态类一直有效,直到我将另一个变量引入到静态的静态类中

问题描述

static class Program
{
     static void Main()
     {
         DatabaseQueueLoader loader = new DatabaseQueueLoader();
         MFilesClient client = new MFilesClient();
         client.Connect();
     }
}


static class Program
{
     static void Main()
     {
         DatabaseQueueLoader loader = new DatabaseQueueLoader();
         private static NLogger logger = NLogger.UniqueInstance;
         MFilesClient client = new MFilesClient();
         client.Connect();
     }
}

顶部的代码段有效,但底部的代码段无效。我的理解是,在一个静态类中,需要让它的所有成员都是静态的。这是我继承的代码,我正在努力全面了解正在发生的事情。我不明白为什么这个顶级版本的代码可以工作。这可能会帮助我弄清楚为什么当我引入静态成员时,它不再起作用了。我还想知道为什么静态成员会破坏它。我可以通过多种方式解决此问题,但希望获得更深入的了解。

标签: c#oopstatic

解决方案


您不能在方法中使用 private 关键字或 static。你只能在一个类中使用它,这就是底部一个不起作用的原因。


推荐阅读