我有这个,
Public Class posData
Public Property strLabel As String
Public Property strX As String
Public Property strY As String
Public Property blnAvail As Boolean
Public Sub New(ByVal strLabelID As String, ByVal X As Integer, ByVal Y As Integer)
Me.strLabel = strLabelID
' Format = "<PinX F='53mm'></PinX>", "<PinY F='204mm'></PinY>"
Me.strX = "<PinX F='" & X.ToString & "mm'></PinX>"
Me.strY = "<PinY F='" & Y.ToString & "mm'></PinY>"
Me.blnAvail = True
End Sub
End Class
我在另一个子域中使用它来构建名为PosList的列表..
Public Sub SetUpCoords(ByRef PosList As HashSet(Of posData))
Dim a1 As New posData("a1", X_coords(0), Y_coords(0))
Dim a2 As New posData("a2", X_coords(1), Y_coords(0))
Dim a3 As New posData("a3", X_coords(2), Y_coords(0))
依旧等等,但是我想调用这个方法并在我的按钮点击sub中填充列表,所以我在我的按钮点击事件中添加了这个。
Dim MyPosList As New HashSet(Of posData)
SetUpCoords(MyPosList)
然后我想循环遍历列表中的所有对象,所以我对posList中的每个位置都有一个,在这里面是问题发生的地方,我希望能够写出像这样的东西,a1.blnavail,这是然而,没有发生,我知道我可以使用position.blnavail,但我需要硬编码我的逻辑位置才能正常工作,我做错了什么?
谢谢:)
答案 0 :(得分:1)
你不能使用另一个使用密钥的数据结构,比如Dictionary吗?然后,您可以使用a1等键入每个项目,并使用该键访问for循环中的项目。