私はVb.net 3.5を使用して、クラスにNULL可能パブリックプロパティを持っている:VB.netクラスのNullable PublicプロパティがAssignmentとして0(ゼロ)を受け入れないのはなぜですか?
Public Property TicketCharge() As Nullable(Of Decimal)
Get
If _TicketCharge = Nothing Then
Return Nothing
Else
Return _TicketCharge
End If
End Get
Set(ByVal value As Nullable(Of Decimal))
If value.HasValue Then _TicketCharge = value
End Set
End Property
は値を代入する方法があります。値0(ゼロ)を代入しようとする場合を除いて、正常に動作します。
If FundBuySell = "Exchange $" Or FundBuySell = "Exchange Shares" Then
TicketCharge = 0
Else
ゼロを割り当ててから取得すると、プロパティは何も表示されません。
時々Nullとゼロがあることがプロパティに必要です。誰かが何が起こっているか説明できますか?
を私は_TicketChargeは何もありません使用している場合、私はこのエラーを取得:「演算子は、decimal型のオペランドを受け付けないですオペランドが参照またはNULL可能なタイプでなければなりません。」 _TicketCharge.HasValueを使用すると、次のエラーが表示されます。 "HasValueがDecimalのメンバーではありません" – codethrift
_TicketChargeは10進数でNullable(10進数)ではありません。 –
私は分かりません。上記のように、Nullable(10進数)です。私が変更したのは、 "_TicketCharge = Nothing"を "_TicketCharge Is Nothing"に変更したことだけでした。 – codethrift