integer类型的值不能转换为整数的1维数组

时间:2014-11-27 14:55:22

标签: arrays vb.net

我正在看一个VB项目。它定义了一个Integer数组:

Dim BatchIDs As Integer()

然后它尝试使用方法

填充此数组
BatchIDs = m_oBatMan.GetBatchIDs(BatchClassName)

该方法确实返回一个数组

Public ReadOnly Property GetBatchIDs() As Integer()

但填充BatchIDs的行给出了错误:integer类型的值不能转换为整数的1维数组。

我不是VB程序员,但我使用返回数组的方法分配数组。我没有看到问题。如果我改变它,那么BatchIDs只是一个整数而不是一个数组,那么它没关系。但GetBatchIDs返回一个数组,所以我不明白发生了什么。有人帮我吗?

1 个答案:

答案 0 :(得分:0)

原因是该属性返回一个数组但没有参数。您认为您正在使用它与参数,但实际上您正在访问该数组的一个索引(如果BatchClassNameInteger)。

所以这样写:

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是一个你仍未提及的整数。