从不同的子中访问变量

时间:2012-03-09 20:05:35

标签: vb.net

我有这个,

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,但我需要硬编码我的逻辑位置才能正常工作,我做错了什么?

谢谢:)

1 个答案:

答案 0 :(得分:1)

你不能使用另一个使用密钥的数据结构,比如Dictionary吗?然后,您可以使用a1等键入每个项目,并使用该键访问for循环中的项目。