答えて

2

明示的なのブール値への変換があります。

あなただけが書かれ​​ている構造の= Trueまたは= False評価を定義するために、あなたのコードでそれらを使用することができますので、あなたが等しくなるあなたの構造のどのような値を決定するためのルールを定義する必要が真または偽

Public Structure p 
    Dim a As Double 
    Public Shared Operator IsFalse(ByVal w As p) As Boolean 
     Dim b As Boolean 
     ' Insert code to calculate IsFalse of w. 
     Return b 
    End Operator 
    Public Shared Operator IsTrue(ByVal w As p) As Boolean 
     Dim b As Boolean 
     ' Insert code to calculate IsTrue of w. 
     Return b 
    End Operator 
End Structure 
これらの演算子の

戻り値は

TrueまたはFalseのどちらかでなければなりません

詳細はこちらのページを参照してください:https://msdn.microsoft.com/en-us/library/w6tz4ad8.aspx

+0

これらのメソッドは、少し不健康に見えます。私は彼らが存在していたことさえ知らなかった。私が "myStruct AndAlso myOtherStruct then if"のようなコードを見た場合、私の最初の反応は、誰かが厳密なコンパイルを忘れていないかどうかをチェックすることです。奇妙なのは、構造体がtrueまたはfalseに評価されることができますが、実装が真であるか偽であるかを判断するロジックを調べる必要があることです。その論理が何であれ、私はむしろそれを明示的にテストしたいと思う。 –