gpt4 book ai didi

c# - 为什么会出现NullReferenceException呢?

转载 作者:行者123 更新时间:2023-12-02 21:38:07 25 4
gpt4 key购买 nike

我有以下代码:

try {
using (var stream = new MemoryStream()) {
var ms = stream;
if (control is DockLayoutManager) {
if (control.Dispatcher == null || control.Dispatcher.CheckAccess()) {
((DockLayoutManager)control).SaveLayoutToStream(ms);
}
}
}
} catch (Exception e) {
log.Error(string.Format("Cannot GetLayout ({0}).", typeName), e);
}

时不时地,我会在线路上收到 NullReferenceException

((DockLayoutManager)control).SaveLayoutToStream(ms);

我不知道为什么这一行会出现 NullReferenceException。

希望有人能帮助我。

最佳答案

问题出在 .SaveLayoutToStream(ms)

这种情况以前发生过几次:

https://www.devexpress.com/Support/Center/Question/Details/B190607 http://www.devexpress.com/Support/Center/Question/Details/B221485 https://www.devexpress.com/Support/Center/Question/Details/Q445171

如果您有他们的源代码,那么我会将它们链接到解决方案中,重建并在失败时进行跟踪。另外,我会确保我的源代码/二进制文件完全是最新的。

如果不这样做,那么调试就会变得异常困难。 DevExpress 表示他们不想将代码放在适当的位置来引发足够可靠的错误,以便您能够查明确切的原因。此外,编译器在该行上抛出的原因很简单,因为它不有任何进一步的源代码行可以指向您,并且它发生在该方法内部。在这种情况下,请联系 DevExpress 询问他们的情况。

似乎是序列化问题。 B221485 问题号似乎表明具有 DefaultBoolean 类型属性的控件被设置为 -1 并随后崩溃。支持人员表示,要找到您将此类属性设置为 truefalse 的任何属性,作为要修复的内容的指示符。看起来很奇怪。

关于c# - 为什么会出现NullReferenceException呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20927540/

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