我正在处理一些类似这样的代码:
class A
{
static SomeClass a = new Someclass("asfae");
}
Someclass 包含所需的构造函数。此代码编译良好,没有任何警告。但是我在系统中遇到了代码危险:
“已从静态构造函数和/或静态初始化程序调用了 Someclass ctor”
该代码危害系统的一部分,只是为了通过警告系统中可能存在的缺陷或系统是否因此而进入不良状态来使其变得更好。我在网上某处读到,如果静态构造函数/初始化程序等待线程完成,它们可能会在 c# 中陷入死锁。这和这个有关系吗?
我需要摆脱这个警告我该怎么做。我不能使成员成为非静态成员,因为它被静态函数使用。在这种情况下我该怎么办,需要帮助。