问题标签 [nullreferenceexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1559 浏览

asp.net-mvc - Html.TextBox() 抛出 System.NullReferenceException

当我调用我的一个控制器的编辑操作时出现此错误。

这是 Edit 操作方法的 C# 代码

这是 validateDetail 方法:

我在这一行得到错误:

异常详细信息: System.NullReferenceException:对象引用未设置为对象的实例。

我已经搜索了这个错误并遇到了几个解决方案,但没有一个对我有用。请让我知道这是否可以解决。我还要补充一点,我选择隐藏视图中的某些表列,包括 detail_id,而不仅仅是显示它们。

0 投票
16 回答
31690 浏览

c# - 避免空引用异常

显然,代码中的绝大多数错误都是空引用异常。是否有任何通用技术可以避免遇到空引用错误?

除非我弄错了,否则我知道在 F# 等语言中不可能有空值。但这不是问题,我问的是如何避免 C# 等语言中的空引用错误。

0 投票
5 回答
2134 浏览

c# - 构造函数中的委托调用

我遇到了一个很容易解决但我年轻时还没有遇到过的设计问题。

我有一门课需要经过一些设置程序才能发生其他任何事情。

但是,在构建这个类的过程中,我在构造函数的参数中有一个可以传递的委托,以便用户可以将自己的信息添加到类中。

但是,当调用 this 时,创建类的范围仍然没有有效的实例,因此会发生空异常错误。

我该如何围绕这个设计?我应该将“this”的实例传递给该委托吗?

在这里做出什么是好的决定?我有一个“StartServices()”方法,我可以轻松地调用委托,但我觉得设计明智,它应该在构造函数中。

感谢您的建议!

0 投票
2 回答
1099 浏览

c# - 通过 Application.Current.Resources 更改皮肤/主题时出现 NullReferenceException

我正在编写一个具有多个皮肤的 wpf 应用程序。切换主题的代码如下:

第一次调用代码(切换到新主题),执行成功;但是,对相同代码的任何后续调用都会引发 System.NullReferenceException。

我设置主题的方式与此处描述的类似:http: //www.codewrecks.com/blog/index.php/2008/05/22/simple-skinnable-and-theme-management-in-wpf-用户界面/ .

有没有人见过这个错误?由于异常是在其他地方引发的,我该如何进行调试?任何帮助是极大的赞赏。

0 投票
5 回答
3441 浏览

c# - 只读静态字段如何为空?

因此,这是我的一堂课的摘录:

如您所见,它是一个单例线程——即该实例被标记为 ThreadStatic 属性。该实例也作为静态构造的一部分进行实例化。

既然如此,当我尝试使用 Instance 属性时,怎么可能在我的 ASP.NET MVC 应用程序中得到 NullReferenceException?

0 投票
1 回答
180 浏览

silverlight - 引用在 xaml 中声明为静态 res 的自定义 obj 为 null。为什么?

我有一个小的 Silverlight 3 测试应用程序。这是一个学习Silverlight、XAML、绑定等的练习。我有一个小测试类(Test),它有三个属性;Val1、Val2 和总和。我在 XAML 中声明了一个资源,如下所示:

我在用户控件上有一个按钮。此按钮背后的代码如下所示:

解决方案构建成功,但是当我运行它时,在引用 xamlTestObj 时,我在按钮处理程序中收到 NullReferenceException。如果我将对象从用户控件的资源列表中拉出,我就能够成功执行按钮单击。像:

让我感到困惑的是为什么我需要将对象从资源列表中拉出来。在我看来,如果编译器可以看到 xamlTestObj 引用,它应该在它声明的范围的生命周期内“活”(在这种情况下,用户控件)。WPF 控件以这种方式运行。也就是说,我可以访问我放置在用户控件上的任何文本框和按钮。

谁能帮我解决这个问题?

谢谢 :-)

0 投票
1 回答
482 浏览

nhibernate - nHibernate 不加载第三级属性(不可刷新缓存)

我开始在基于 Sharepoint 的 ASP.NET 项目中将一些预先存在的 nHibernate 代码从急切加载和每个数据库命中的新会话切换到延迟加载和 HTTP 请求期间的会话,然后开始遇到问题。

当我们在这个系统中创建一个项目时,有一些由下拉列表填充的多对一关系。这为我们提供了 ID,这足以保存到数据库中。

为了执行一些保存后的任务,比如电子邮件通知,我们然后加载相同的项目,这之前会让我们填充整个对象树。

但是,自从更改为延迟加载和具有整个请求生命周期的会话以来,我们一直在从 Item 下面的属性中获取 NullReferenceExceptions,这些属性神秘地为空。

我们通过 nHibernate 将 item 加载到 changedItem 中。失败的电话是:

PaperMedia 已完全填充,但 FormsAnalyst 上的所有内容都为空,除了 ID。

这与我们保存它时的状态相同,因此导致此问题的一个可能原因是 Item 被缓存并简单地检索,因此 nHibernate 不知道数据库中的实际值。但是,我正在提交事务,并在保存和后续加载之间在会话上显式调用 Flush(),所以如果是这种情况,那么 Commit() 和 Flush() 都不会对缓存产生任何影响。

我已将相关 hbm.xml 文件中的这些属性更改为lazy="false",并为所有这些属性设置了 SetFetchMode FetchMode.Eager,但没有任何效果。

我也在考虑将 max_fetch_depth 作为问题。如果我在会话上调用 Refresh(changedItem),它没有效果。但是,如果我调用 Refresh(changedItem.PaperMedia),它将一直填充到 Name。这似乎将 max_fetch_depth 视为问题,但我仍然尝试增加它,将其设置为 hibernate.cfg.xml 中的 6 以及配置实例上的 SetProperty("max_fetch_depth", "6")在创建会话工厂时,这些也没有效果。

我不知道还能尝试什么。

以前有人见过这样的事情吗?我是 nHibernate 的新手,所以它可能很简单......

编辑:

看来缓存确实是问题所在。在会话实例上调用 Clear() 可修复此行为。

所以现在的问题变成了,为什么 Flush() 不会更新缓存的项目?这正是我认为它的目的。

0 投票
3 回答
727 浏览

.net - 为什么“对象引用未设置为对象的实例”不是更具描述性?

作为开发人员,我们经常遇到这种异常:NullReferenceException众所周知的错误消息:

你调用的对象是空的

.NET 框架不可能返回更有意义的东西吗?

例如:

名为 Y 的 X 类型对象未设置为对象的实例

0 投票
2 回答
53363 浏览

c# - 如何测试一个空的 generic.dictionary 集合?

如何测试通用字典对象以查看它是否为空?我想运行一些代码如下:

reportGraph 对象的类型为 System.Collections.Generic.Dictionary 运行此代码时,reportGraphs 字典为空,并且 MoveNext() 立即引发 NullReferenceException。如果有一种更高效的方式来处理空集合,我不想在块周围放置一个 try-catch。

谢谢。

0 投票
6 回答
673 浏览

c# - 需要一个变量 - 规避 NullReferenceException?

[已解决] - 错误是我的,我没有将 World (world_) 链接到实体,所以它是空的。谢谢大家的解释!


正如您现在可能知道的那样,我正在制作一个游戏引擎/框架,并且我已经卡住了将东西与相互引用联系起来。

例子:

将组件添加到渲染器的行因 NullObjectException 而失败。我的想法是,这是因为它在类实现中(当对象尚未定义时),但这样的事情在下一段代码中起作用:

那部分代码也在 TGSGame 类实现中!

有谁知道我该如何克服这个异常?