私はクラス名が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 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
ので、代わりのコピーを実行すると、このコードを貼り付けることができますこの
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 'その変数に代入することによってプロパティに代入されるように、その可変変数とプロパティの間に何らかの形で関係が作成されます。それはどのように動作するのではありません。そのプロパティに何かを割り当てることが予想される場合、それをそのプロパティに割り当てる必要があります。 2番目のコードスニペットは意味をなさないため、最初のコードスニペットが機能しないときに意味をなすため、機能します。 – jmcilhinney
@jmcilhinneyありがとう、ええ、それは私が考えているものです。私はまだあなたが私に例を与えることができるかどうか、あるいはそれを正しく行う方法に関するリンクを与えることができるかどうかを理解していません。どうもありがとうございます。 –
私が言っていることは、明らかにあなたがしたいことをする方法がないということです。あなたは、同じ場所を参照する2つのポインタを使用してポインタをサポートする言語でそれを行うことができますが、VBはポインタをサポートしていません。なぜあなたは最初にこれをしたいのですか?間違いなくあなたの要件を満たす方法になります。あなたの考え方だけではありません。 – jmcilhinney