我最近有一個很奇怪的System.ArgumentException
。初始化靜態變量時引發奇怪的異常
下面的代碼是在我MainWindow
構造上我的WPF應用程序
CodeDefinitions.DEFAULT_AVALIABLE = (() => { return true; });
但每一次運行的應用程序,這是我得到:System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll
所以obviusly有哪裏不對勁,所以我把這條線放在一個try/catch塊內,如下所示:
try
{
CodeDefinitions.DEFAULT_AVALIABLE = (() => { return true; });
}
catch()
{
}
並在catch的'{'處設置斷點,這就是我爲$例外:
[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}
據我所知,這excepton使用詞典時拋出,但最奇怪的是,DEFAULT_AVALIABLE
是Func<bool>
:
internal static Func<bool> DEFAULT_AVALIABLE;
有誰知道這事?這似乎很愚蠢,但我無法弄清楚。
提前致謝!
你有沒有引用'CodeDefinitions.DEFAULT_AVALIABLE'的東西 - 可能將其結果添加到字典中? – Darren
其實我沒有,'CodeDefinitions.DEFAULT_AVALIABLE'只用作類屬性的默認值,當沒有自定義值定義時 - '公共函數 IsAvaliable;' –