当我在类上调用静态方法时,我得到TypeInitializationException的原因是什么?

pen*_*ake 4 .net c# exception

我在公共类上有一个静态方法.例:

public class MyClass {
 public static bool Test() { return true; }
}
Run Code Online (Sandbox Code Playgroud)

我从另一个班级的单元测试中调用它:

MyClass.Test();
Run Code Online (Sandbox Code Playgroud)

当调试器出现时,它抛出:TypeInitializationException:

{"'xxxxx.Yyyyy.MyClass'的类型初始化程序引发了异常."}

内部异常说:

{"值不能为空.\ r \nParameter name:container"}

知道为什么会这样吗?

注意:这是控制台应用程序中的一个类 - 如果它很重要.

Rob*_*ine 8

TypeInitializationException类型初始化期间发生异常时抛出A (而不是类型的实例).

这通常意味着它是由静态构造函数中的异常或初始化静态字段引起的.

在尝试查找原因时要记住的一件重要事情是:一旦类型抛出此异常一次 - 它将始终在您尝试访问该类型时抛出它.这意味着要到达它的底部,你可能不得不追捕它首先被抛出的地方,而不是随后抛出的地方.

[编辑:回复您的更新问题] 您可以发布更完整的问题MyClass吗?当类型本身被初始化导致它抛出它时,它正在做某事.