我正在尝试访问特定设备(例如device1.status.status1)的特定状态以获取status1的值 数组以下
ID = 1
DeviceName = device1
Device_ID = 234
Status_array()
1, status1, statusvalue1
2, status2, statusvalue2
etc
ID =2
DeviceName = device2
Device_ID =567
Status_array()
3, status3, statusvalue3
4, status4, statusvalue4
etc
我希望标题足够了,这就是我所拥有的 由设备和状态(所有设备的所有状态)数据集构建的设备阵列,大约有25台设备,每台设备具有10-15种不同的状态
这是我用来创建数组的代码,它会迭代设备表中的每个设备,然后遍历状态表并将状态数组添加到设备数组(此代码有效),我可以设置一个断点并查看数组包含正确的数据,我只是可以弄清楚如何访问它
Public Sub LoadDevices()
Dim foundRows() As Data.DataRow
foundRows = MyDevicesDS.Tables("devices").Select()
For Each item In foundRows
Dim deviceitem As New G2SWebService.DevicesClass
Dim id As Integer = item("ID")
Dim DeviceName As String = item("DeviceName")
Dim Device_ID As Integer = item("Device_ID")
deviceitem.Id = item("ID")
deviceitem.DeviceName = item("DeviceName")
deviceitem.Device_ID = item("Device_ID")
Dim statusrows() As Data.DataRow
Dim statusarray As New List(Of statusClass)()
statusrows = MyDevicesDS.Tables("status").Select("ParentDeviceID = " + item("ID").ToString)
For Each statusrow In statusrows
Dim statusitem As New G2SWebService.statusClass
statusitem.ID = statusrow("ID")
statusitem.name = statusrow("name")
statusitem.StrValue = statusrow("StrValue")
statusarray.Add(statusitem)
Console.WriteLine("jjj")
Next
deviceitem.status = statusarray
Device_Array.Add(deviceitem)
Console.WriteLine("kkk")
Next
End Sub
这是我正在使用的课程
Public Class DevicesClass
Public Id As Integer
Public DeviceName As String
Public Device_ID As Integer
Public status As New List(Of statusClass)
End Class
Public Class statusClass
Public ID As Integer
Public name As String
Public StrValue As String
Public valueType As String
End Class
这是我所了解的
For Each item In Device_Array
Dim device As String = item.DeviceName
Dim deviceId As String = item.Device_ID
Dim statusEnabled As String = item.status.
'the above line Is where i need To Get the value Of statusEnabled
Next