c# - 具有实例变量的静态类一直有效,直到我将另一个变量引入到静态的静态类中
问题描述
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();
}
}
顶部的代码段有效,但底部的代码段无效。我的理解是,在一个静态类中,需要让它的所有成员都是静态的。这是我继承的代码,我正在努力全面了解正在发生的事情。我不明白为什么这个顶级版本的代码可以工作。这可能会帮助我弄清楚为什么当我引入静态成员时,它不再起作用了。我还想知道为什么静态成员会破坏它。我可以通过多种方式解决此问题,但希望获得更深入的了解。
解决方案
您不能在方法中使用 private 关键字或 static。你只能在一个类中使用它,这就是底部一个不起作用的原因。
推荐阅读
- vue.js - 创建范围而不定义组件
- html - 我试图在我的网页上显示视频,但它不会加载?我的html代码有问题吗?
- javascript - 在 JavaScript 中使用类语法将对象添加到数组
- vue.js - 在对象对象上选择菜单
- ios - 我的应用在 iOS12.4 中运行良好,但在 iOS 11 中崩溃
- c++ - 未定义的“函数”引用;链接库不起作用
- mysql - 1366 不正确的字符串值:列的“\x89lise”(仅第一个字节/第一个字符)
- zpl - ZPL剥离后如何在标签上打印当前日期和时间?
- node.js - nodeJS https 服务器未启动 - 监听 EACCES 0.0.0.0:443
- assembly - 使用 MIPS 汇编找到 3x3 矩阵的逆矩阵