내가 Vb.net 3.5을 사용하여 클래스에 널 (NULL) 공용 속성이 있습니다VB.net 클래스의 Nullable Public 속성이 할당으로 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
0을 지정하고 검색하면 속성 = 없음이 표시됩니다.
때때로 Null 속성과 때때로 0 속성이 필요합니다. 누군가 일어나는 일을 설명 할 수 있습니까?
, 나는이 오류가 발생합니다 : "연산자를 입력 진수의 피연산자를 허용하지 않는가요 피연산자는 참조 또는 nullable 형식이어야합니다.." _TicketCharge.HasValue를 사용하면 "HasValue가 Decimal의 멤버가 아닙니다."라는 메시지가 나타납니다. – codethrift
_TicketCharge는 _TicketCharge가 Nullable (Of Decimal)이 아닌 Decimal이라고 말한 적이 없습니다. –
나는 이해하지 못한다. 위에 표시된 바와 같이 Nullable (Decimal)입니다. 내가 변경 한 것은 "_TicketCharge = Nothing"에서 "_TicketCharge Is Nothing"입니다. – codethrift