我有一个小班:
Public Class LimitOrder
<JsonProperty(PropertyName:="size")> _
Public Property Size() As Double
<JsonProperty(PropertyName:="price")> _
Public Property Price() As Double
<JsonProperty(PropertyName:="persistenceType")> _
Public Property PersistenceType() As PersistenceType
<JsonProperty(PropertyName:="betTargetType")>
Public Property BetTargetType() As BetTargetType
<JsonProperty(PropertyName:="betTargetSize")>
Public Property BetTargetSize() As Double
End Class
我的问题是如果给BetTargetType
一个值,那么不能将Size属性传递给处理器。
每次初始化类时,都会包含Size
属性,并且值为0.0
。
如果我注释掉(或省略)Size
属性它可以正常工作,但是有些情况下我想要包含大小。
理想情况下,我希望Size
属性是可选的,或者两种类型的类,一个具有Size属性,另一个不具有。
我尝试将Size
属性设为可为空 - 但该值是在序列化之前创建的。
答案 0 :(得分:0)
以下内容应该有效:
Private _Size As Double?
<JsonProperty(PropertyName:="size")>
Public Property Size() As Double?
Get
If BetTargetType IsNot Nothing Then
Return Nothing
Else
Return _Size
End If
End Get
Set(value As Double?)
_Size = value
End Set
End Property
如果Size
不是Nothing
,则BetTargetType
会返回Nothing
。