클래스 이름이 intersection_regular_island
이고 form1
에 새 인스턴스를 만들었습니다. 나는 이런 식으로 할 경우, 그것은클래스의 변수 값을 내 양식의 변수에 넣기
Public Class form1
Dim a As New intersection_regular_island
Sub sampleSub()
a.leftA_pen = New Pen(Color.Green, a.arrowWidth)
End Sub
End Class
참고 노력하고 있습니다 반면 그래서 난 그냥 작은 부분입니다이 코드
Public Class form1
Dim a As New intersection_regular_island
Dim penToUse As Pen = a.leftA_pen
Sub sampleSub()
penToUse = New Pen(Color.Green, a.arrowWidth)
End Sub
End Class
을 시도하는 클래스의 특정 변수를 다시 선언하고 싶었다 코드의 실제 코드가 아닙니다. 그것은 어쩌면 내가 뭔가를 놓친 수도 삽화를위한 것입니다.
내가 그렇게 간단한 것을 놓친 것처럼 보입니까?
편집 : 나는 그래서 쉽게 코드를 복사 그래서 대신 select case
을 수행하고 붙여 넣기 할 수처럼하고 싶은
여러 번
Select Case lightFunctionNum
Case 1
a.leftA_pen = New Pen(Color.Green, a.arrowWidth)
Case 2
a.leftA_pen = New Pen(Color.Yellow, a.arrowWidth)
Case 3
a.leftA_pen = New Pen(Color.Red, a.arrowWidth)
Case 4
Dim blinkColorTrue As Color = Color.Green
Dim blinkColorFalse As Color = Color.Transparent
If blinkBoolean_A = False Then a.leftA_pen = New Pen(blinkColorFalse, a.arrowWidth) : blinkBoolean_A = True Else a.leftA_pen = New Pen(blinkColorTrue, a.arrowWidth) : blinkBoolean_A = False
Case 5
Dim blinkColorTrue As Color = Color.Yellow
Dim blinkColorFalse As Color = Color.Transparent
If blinkBoolean_A = False Then a.leftA_pen = New Pen(blinkColorFalse, a.arrowWidth) : blinkBoolean_A = True Else a.leftA_pen = New Pen(blinkColorTrue, a.arrowWidth) : blinkBoolean_A = False
Case Else
a.leftA_pen = New Pen(Color.Transparent, a.arrowWidth)
End Select
가 나는처럼되고 싶어 이
Select Case arrowAndPosition
Case arrowAndPositionChoices.A_Left
penToUse = a.leftA_pen
Case arrowAndPositionChoices.B_Left
penToUse = a.leftB_pen
Case arrowAndPositionChoices.C_Left
penToUse = a.leftC_pen
Case arrowAndPositionChoices.D_Left
penToUse = a.leftD_pen
End Select
Select Case lightFunctionNum
Case 1
penToUse = New Pen(Color.Green, a.arrowWidth)
Console.WriteLine("Trigger")
Case 2
penToUse = New Pen(Color.Yellow, a.arrowWidth)
Case 3
penToUse = New Pen(Color.Red, a.arrowWidth)
Case 4
Dim blinkColorTrue As Color = Color.Green
Dim blinkColorFalse As Color = Color.Transparent
If blinkBoolean = False Then penToUse = New Pen(blinkColorFalse, a.arrowWidth) : blinkBoolean = True Else penToUse = New Pen(blinkColorTrue, a.arrowWidth) : blinkBoolean = False
Case 5
Dim blinkColorTrue As Color = Color.Yellow
Dim blinkColorFalse As Color = Color.Transparent
If blinkBoolean = False Then penToUse = New Pen(blinkColorFalse, a.arrowWidth) : blinkBoolean = True Else penToUse = New Pen(blinkColorTrue, a.arrowWidth) : blinkBoolean = False
Case Else
penToUse = New Pen(Color.Transparent, a.arrowWidth)
End Select
당신이 생각하는 것 펜 = a.leftA으로 희미한 penToUse'그 _pen'은 변수에 할당하면 속성에 할당하는 것과 같이 가변 변수와 속성 사이에 관계를 만듭니다. 그것이 작동하는 방식이 아닙니다. 해당 속성에 할당 할 내용이 있으면 해당 속성에 할당해야합니다. 두 번째 코드 조각은 의미가 없기 때문에 첫 번째 코드가 작동하지 않는 동안 의미가 있기 때문에 작동합니다. – jmcilhinney
@jmcilhinney 고마워, 그래, 그게 내가 생각하는거야. 나는 아직도 당신이 의미하는 바를 이해하지 못한다. 나는 당신이 어떻게 그 일을 올바르게 수행 할 수 있는지에 대한 모범이나 예를 들어 줄 수 있을까? 정말 고맙습니다. –
내 뜻은 분명히하고 싶은 일을 할 방법이 없다는 것입니다. 동일한 위치를 참조하는 두 개의 포인터를 사용하여 포인터를 지원하는 언어로이 작업을 수행 할 수 있지만 VB는 포인터를 지원하지 않으므로 수행 할 수 없습니다. 왜 정확히 처음부터 이렇게하고 싶습니까? 의심의 여지없이 귀하의 요구 사항을 충족하는 방법이 될 것입니다; 네가 생각하는 방식이 아니야. – jmcilhinney