我的应用程序中有一些代码循环遍历数据表中的行。我收到警告日志“Late Bound resolution;运行时错误可能发生”我想知道是否有人有任何关于如何清除它们的建议。
For Each row In dt.Rows
RowCount += 1
If row("SelfRating") IsNot DBNull.Value Then
If row("SelfRating") > 0 Then
EmployeeCompletedRows += 1
End If
End If
If row("ManagerRating") IsNot DBNull.Value Then
If row("ManagerRating") > 0 Then
ManagerCompletedRows += 1
End If
End If
Next
答案 0 :(得分:0)
将对象分配给声明为Object Data Type的变量是原因。
当您将变量声明为Object时,编译器必须执行后期绑定,这会在运行时导致额外的操作。它还会将您的应用程序暴露给潜在的运行时错误。如果将变量声明为特定类型,则编译器可以在编译时执行早期绑定。这样可以提高性能,控制对特定类型成员的访问,并提高代码的可读性。
此外,默认情况下,此消息应为警告。
没有显示您的变量及其类型,很难说除了你的for循环没有指定 For Each row As DataRow In dt.Rows...
是什么......这可能是问题
试试这个......
Option Strict On
这里我指的是前期的对象类型,它不是后期绑定...
同时将<Dial>
变成一位好朋友。