Vb.net 属性可以是可选的吗?
我有一个小班:Vb.net 属性可以是可选的吗?,vb.net,properties,Vb.net,Properties,我有一个小班: Public Class LimitOrder <JsonProperty(PropertyName:="size")> _ Public Property Size() As Double <JsonProperty(PropertyName:="price")> _ Public Property Price() As Double <JsonProperty(PropertyName:="persis
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
公共类限制顺序
_
公共属性大小()为双精度
_
公共物业价格()翻一番
_
公共属性PersistenceType()作为PersistenceType
公共属性BettTargetType()作为BettTargetType
公共属性BettTargetSize()为双精度
末级
我的问题是,如果为BetTargetType
指定了一个值,则不能将Size属性传递给处理器
每次初始化该类时,都会包含Size
属性,并给出0.0
的值。
如果我注释掉(或省略)
Size
属性,它可以正常工作,但在某些情况下,我希望包含Size
理想情况下,我希望Size
属性是可选的,或者有两种类型的类,一种有Size属性,另一种没有
我已尝试将
Size
属性设置为空-但该值是在序列化之前创建的。以下操作应能正常工作:
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
Private\u大小是否为双倍?
公共属性大小()是否为两倍?
得到
如果BettageType不是空的,那么
一无所获
其他的
返回大小
如果结束
结束
设置(值为双精度?)
_大小=值
端集
端属性
这样Size
返回Nothing
如果BetTargetType
不是Nothing