我正在看一个VB项目。它定义了一个Integer数组:
Dim BatchIDs As Integer()
然后它尝试使用方法
填充此数组BatchIDs = m_oBatMan.GetBatchIDs(BatchClassName)
该方法确实返回一个数组
Public ReadOnly Property GetBatchIDs() As Integer()
但填充BatchIDs的行给出了错误:integer类型的值不能转换为整数的1维数组。
我不是VB程序员,但我使用返回数组的方法分配数组。我没有看到问题。如果我改变它,那么BatchIDs只是一个整数而不是一个数组,那么它没关系。但GetBatchIDs返回一个数组,所以我不明白发生了什么。有人帮我吗?
答案 0 :(得分:0)
原因是该属性返回一个数组但没有参数。您认为您正在使用它与参数,但实际上您正在访问该数组的一个索引(如果BatchClassName
是Integer
)。
所以这样写:
BatchIDs = m_oBatMan.GetBatchIDs
但它似乎不是真正的/完整的代码,因为它甚至没有编译。
Public ReadOnly Property GetBatchIDs() As Integer()
给出:"'ReadOnly' property must provide a 'Get'"
但是如果你添加了getter:
m_oBatMan.GetBatchIDs(BatchClassName)
返回Integer
而不是Integer
- 数组,因为您正在使用索引器(在VB.NET中为()
而不是C#,其中为[]
) 。当然假设BatchClassName
是一个你仍未提及的整数。