Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 令人费解的子对象实例化_.net_Vb.net - Fatal编程技术网

.net 令人费解的子对象实例化

.net 令人费解的子对象实例化,.net,vb.net,.net,Vb.net,我有一个对象(事件),它有一个子对象(动作)。事件可能有零个或一个动作对象。我正在尝试测试事件对象是否有具有以下代码的子操作对象: 如果不是我的事故。行动什么都不是 从理论上讲,这应该是可行的,但由于某种原因,子动作对象被神秘地暗示(没有值)。此实例化似乎发生在If-Else语句的Else行上,在该行中,我检查事件对象的ID属性以确定它是否已保存到数据库: If MyIncident.ID = 0 Then Me.cmdAddNote.Visible = False Me.dgvNot

我有一个对象(事件),它有一个子对象(动作)。事件可能有零个或一个动作对象。我正在尝试测试事件对象是否有具有以下代码的子操作对象:

如果不是我的事故。行动什么都不是

从理论上讲,这应该是可行的,但由于某种原因,子动作对象被神秘地暗示(没有值)。此实例化似乎发生在If-Else语句的Else行上,在该行中,我检查事件对象的ID属性以确定它是否已保存到数据库:

If MyIncident.ID = 0 Then

  Me.cmdAddNote.Visible = False
  Me.dgvNotes.Visible = False
  Me.DefaultHitsAndMisses()

Else 
  Me.cmdAddNote.Visible = True

  If Not MyIncident.Action Is Nothing Then
    Me.cboCorrectiveActionStatus.SelectedValue =  Me.MyIncident.Action.Status.ID  
  End If
End If
Action在If语句的第一行没有任何内容,但似乎是在这一行和Else行之间实例化的(在本例中,只有Else行会被执行)

如果在填充事件对象时需要,则会实例化该操作对象,如果事件对象没有关联的操作,则会显式保留该操作对象未实例化

我希望根据动作对象是否为空来建立一些逻辑,但它似乎不是一个可靠的检查

有人能解释一下吗


注意:很抱歉,但是代码示例似乎不希望正确标记

你的行为是一个结构还是一个类?结构不能为空。

是否将其定义为新的
?或者是一个结构?

哈!我试图变得聪明,但实际上是愚蠢的,我的Action属性在每次调用对象时构造一个新的对象实例,并检查数据库中是否有适当的数据。如果无法加载数据,我无法将Action成员变量设置回nothing。我已经修改了属性,如果发生这种情况,则不返回任何内容,现在一切都按预期工作。我试图通过“懒散加载”动作对象来变得聪明。那会让我明白的


感谢所有提供帮助的人。

您能告诉我们事件的类定义吗?代码中缺少Action属性的相关实现。