.NET(VB):运行时正在将变量初始化为错误类的实例

时间:2010-07-26 20:16:03

标签: .net vb.net

有些东西在这里,我只是不知道是什么。我有一些看起来像这样的代码:

If ediFileGroupAbbr = "NIPDSINV" OrElse ediFileGroupAbbr = "WWPDSINV" Then
    Dim p As New PrivateBillingAdapter_ForN(ediFileGroupAbbr, businessLocationID, mode, EDIJobItemLogID, BusinessUnitID)
    Return p.ProcessEDI(True, False)
ElseIf ediFileGroupAbbr = "FOPDSINV" Then
    Dim p As New PrivateBillingAdapter_ForF(ediFileGroupAbbr, businessLocationID, mode, EDIJobItemLogID, BusinessUnitID)
    Return p.ProcessEDI(True, False)
Else
    Dim p As New PrivateBillingAdapter(ediFileGroupAbbr, businessLocationID, mode, EDIJobItemLogID, BusinessUnitID)
    Return p.ProcessEDI(True, False)
End If

我传递给ediFileGroupAbbr =“FOPDSINV”的值。但是代码正在执行,好像它正在进入第三个条件(p是PrivateBillingAdapter)。所以我已经进入了代码,当然,它进入了第二个条件。但是,如果我进入构造函数的执行,调试器会跳转到代码中的奇怪位置 - 类似于方法的中间而不是任何实际的代码行。

点击几下,它就会跳出构造函数,仍然在第二个代码块中。但是,如果我将鼠标悬停在变量p上以查看它的类型,那么它就是一个PrivateBillingAdapter(来自第三个块)。

就像我说的,有些事情显然是错的,但我不知道是什么。我已经尝试了几次重建但没有新的结果。

这是VS2003,带有VB.NET的框架1.1。

1 个答案:

答案 0 :(得分:1)

DLL刚刚不同步而没有按预期更新。我强制删除不同步程序集并重建,现在它正常运行。