我知道标题看起来很微不足道但是我有一个问题,我似乎无法绕过它,我在一个子程序中有以下代码..
Dim X, Y As Integer
X = 32
Y = 285
X_coords(0) = X ' x1 (a1)
X_coords(1) = X - 13 ' x2 (a2)
X_coords(2) = X + 16 ' x3 (a3)
X_coords(3) = X + 63 ' x4 (b1)
X_coords(4) = X + 45 ' x5 (b2)
X_coords(5) = X + 74 ' x6 (b3)
X_coords(6) = X + 124 ' x7 (c1)
X_coords(7) = X + 103 ' x8 (c2)
X_coords(8) = X + 132 ' x9 (c3)
X_coords(9) = X + 63 ' x10 (b4)
X_coords(10) = X + 76 ' x11 (y3)
X_coords(11) = X + 21 ' x12 (n1)
X_coords(12) = X + 9 ' x13 (q1)
X_coords(13) = X + 65 ' x14 (q3)
X_coords(14) = X + 117 ' x14 (q5)
X_coords(15) = X + 87 ' x14 (q4)
X_coords(16) = X + 31 ' x13 (q2)
X_coords(17) = X + 139 ' x13 (q6)
X_coords(18) = X + 76 ' x13 (q6)
X_coords(19) = X + 129 ' x13 (q6)
Y_coords(0) = Y ' y1s1
Y_coords(1) = Y - 23 ' y1s2
Y_coords(2) = Y - 11.5 ' y1,2s
Y_coords(3) = Y - 47 ' y2s1
Y_coords(4) = Y - 70 ' y2s2
Y_coords(5) = Y - 59 ' y2,2s
Y_coords(6) = Y - 132 ' y4s1
Y_coords(10) = Y - 152 ' y4s2
Y_coords(7) = Y - 140 ' y4 30cred
Y_coords(8) = Y - 127 ' y4s1, 10cred
Y_coords(9) = Y - 105 ' y3
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))
Dim a4 As New posData("a4", X_coords(0), Y_coords(0))
我知道如何在你的类中创建全局变量,我想让a1,a2等全局,但他们必须采用所述X_coords和Y coords的值,我不知道如何使这个全局变为全局这样做..值是空白的,因为我不能全局初始化它们?
任何帮助?
答案 0 :(得分:0)
将a1,a2 ...声明为全局变量(无论你的意思是全局变量)。然后在类的构造函数中,您可以为它们赋值:
Sub New()
'....
a1 = New ...
'....
如果共享这些变量,则可以使用共享构造函数。
如果需要重新计算变量,那么将它们作为只读属性可能是个好主意。
答案 1 :(得分:0)
问题是全球性的?班级本身?
Public Class MyClass
Private a1 As posData
Private a2 As posData
Private a3 As posData
Private a4 As posData
Public Function SetVariables()
'blah blah
a1 = New posData("a1", X_coords(0), Y_coords(0))
a2 = New posData("a2", X_coords(1), Y_coords(0))
a3 = New posData("a3", X_coords(2), Y_coords(0))
a4 = New posData("a4", X_coords(0), Y_coords(0))
End Function
结束班
变量可用于该类的当前实例中的任何函数。
全球适合您的申请?
Public Class MyClass
Public Shared a1 As posData
Public Shared a2 As posData
Public Shared a3 As posData
Public Shared a4 As posData
Public Function SetVariables()
'blah blah
a1 = New posData("a1", X_coords(0), Y_coords(0))
a2 = New posData("a2", X_coords(1), Y_coords(0))
a3 = New posData("a3", X_coords(2), Y_coords(0))
a4 = New posData("a4", X_coords(0), Y_coords(0))
End Function
结束班
现在它们是静态的,并且在所有类的实例中共享。
希望有所帮助。