System.NullReferenceException:对象引用未设置为对象的实例

可能重复: .NET中的NullReferenceException是什么? System.NullReferenceException:未将对象引用设置为对象的实例

我使用以下代码。

public partial class SectionControls_SingleBanners : SectionControlBaseClass { private SingleBanners _section; protected void Page_PreRender(object sender, EventArgs e) { updateViews(); if (RssCapable(this._section.GetType()) && _section.BannersEntries.Rows.Count > 0) { 

所以这里的代码我得到了错误

 this._section.GetType(); 

如何解决这个问题?

我想你忘记为_section设置值。 您应该在updateViews设置它。

我相信你计划_sectionSingleBanners的某个子类的实例,它将在运行时确定。 如果_section的类型在编译时是明确的(如_section = new SingleBanners() ),那么你将使用typeof(SingleBanners)。

您无法对未实例化的对象执行非静态方法。

试试这个:

 private SingleBanners _section = new SingleBanners(); 

很可能,这意味着_section为null并且尚未设置。 你需要

 private SingleBanners _section = new SingleBanners(...); 

要么

 _section = ... 

在你可以使用之前的其他地方。

答案是在错误Object Reference not set to an Instance of an Object...

你声明了object _section ,但你还没有设置它的引用?

就像是:

 private SingleBanners _section = new SingleBanners(); 

你宣布私人SingleBanners _section ; object _section的引用将为null!

而不是尝试

 _section.GetType() 

使用

 typeof(SingleBanners )