トップ回答者
Ifを使ったDrawing.Colorについて

質問
回答
-
結論からいうと、Color と Nothing との比較はできません。
できるのは Color に対する代入だけです。
1, If AAA = Nothing Then
これは VB2003 の仕様のため不可。
2, If AAA = Color.Empty Then
これも 1 と同様。
3, If AAA.Equals(Nothing) Then
これは AAA の状態如何に関わらず、常に False が返されます。
4, If AAA.Equals(Color.Empty) Then
これが正解。
ちなみに、次の 3 式の結果は同じです。
Dim c As Color
Dim c As Color = Nothing
Dim c As Color = Color.Empty
いずれも、c.Equals(Color.Empty) で True が返されます。
すべての返信
-
trapemiyaさん いつもお世話になります
ありがとうございました いけました
もうひとつ聞いていいでしょうか?
Dim pAAA as Color
Public Property AAA() As Color
Get
Return pAAA
End Get
Set(ByVal value As Color)
pAAA = value
End Set
End Property上で定義したプロパティ AAAで
下のように書くと赤字の部分が これも2003では通りません
Dim BBB as Color
If AAA = Nothing Then
BBB = Color.Blue
End Ifこれも どのように書けば良いんでしょうか?
何度も申し訳ございません
-
結論からいうと、Color と Nothing との比較はできません。
できるのは Color に対する代入だけです。
1, If AAA = Nothing Then
これは VB2003 の仕様のため不可。
2, If AAA = Color.Empty Then
これも 1 と同様。
3, If AAA.Equals(Nothing) Then
これは AAA の状態如何に関わらず、常に False が返されます。
4, If AAA.Equals(Color.Empty) Then
これが正解。
ちなみに、次の 3 式の結果は同じです。
Dim c As Color
Dim c As Color = Nothing
Dim c As Color = Color.Empty
いずれも、c.Equals(Color.Empty) で True が返されます。