2011-11-21 61 views
0

我正在检查如果边框的子属性未设置为无或等于给定元素,但每当我运行该程序时,都会将其设置为没有什么和崩溃。这里是我的代码:未将对象引用设置为对象的实例:子属性

If Not Me.Child.Equals(Nothing) Then ... 
If Me.Child.Equals(value) Then ... 

两者都出现错误。我该怎么做才能通过这些线?同样在C#中,它看起来像这样:

if(this.Child != null) ... 
if (this.Child != value) ... 

但是这一次它不会给出错误。那么我做错了什么?

回答

3

如果Child没有任何内容(或null),那么试图调用其上的Equals方法将是一个错误。您的C#代码为空检查做什么的VB版本将是

If Not Me.Child Is Nothing Then 
    ... 
End If 
+0

...或者“如果Me.Child IsNot Nothing”。 –

2

你在做什么错了就是调用一个方法'等于'不存在的对象;您无法在空对象上运行任何方法(甚至Equals)。

解决你的问题,你有正确的一般方法 - 请检查对象是否存在:

If Not Me.Child Is Nothing Then ... 

在C#中,如果你试图用

if (this.Child.Equals(null)) 
会发生同样的错误

这是您的初始基本语句的C#版本。

相关问题