gpt4 book ai didi

c# - 初始化静态变量时抛出奇怪的异常

转载 作者:行者123 更新时间:2023-11-30 15:22:15 26 4
gpt4 key购买 nike

我最近有一个很奇怪的System.ArgumentException .

以下代码位于我的 MainWindow我的 WPF 应用程序上的构造函数

CodeDefinitions.DEFAULT_AVALIABLE = (() => { return true; });

但每次运行应用程序时,我都会得到:System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll

很明显哪里出了问题,所以我将这一行放在 try/catch block 中,如下所示:

try
{
CodeDefinitions.DEFAULT_AVALIABLE = (() => { return true; });
}
catch()
{

}

然后在 catch 的 '{' 处设置一个断点,这就是我得到的 $exception:

[System.TypeInitializationException] {"The type initializer for 'ComunicadorSerial.Classes.Utils.CodeDefinitions' threw an exception."}

这没有告诉我任何信息,所以我看了一下 _innerException :

_innerException {"An item with the same key has already been added."}   System.Exception {System.ArgumentException}

据我所知,这个异常是在使用字典时抛出的,但最奇怪的是 DEFAULT_AVALIABLEFunc<bool> :

internal static Func<bool> DEFAULT_AVALIABLE;

有人知道吗?这看起来很愚蠢,但我就是想不通。

提前致谢!

最佳答案

初始化一个静态变量会调用静态构造函数(如果之前没有调用过的话)。

如果没有看到实际的代码,就不可能知道哪里出了问题,但请检查您的静态构造函数和其他静态成员,看是否有任何可能引发此异常的情况。

关于c# - 初始化静态变量时抛出奇怪的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36083790/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com