如何在 Visual Basic 中定义可空类型 属性

How do you define a Nullable Type Property in Visual Basic

您将如何在 Visual Basic 中定义 Nullable 类型 属性。 如何利用 Setter 中的 HasValue 属性?

谢谢。

您不必担心 setter 中的 HasValue,除非我不理解您的问题。这是一个例子:

Private _myValue As Integer?

Public Property MyValue As Integer?
    Get
        Return _myValue
    End Get

    Set(value As Integer?)
        _myValue = value
    End Set
End Property

由于 value_myValue 都是 Integer? 类型(即 "nullable" Integer),它们将在类型上匹配。

当然,如果你只有一个没有逻辑(例如延迟加载)的普通旧 getter/setter 属性,使用自动实现的 属性 会更容易,就像这样:

Public Property MyValue As Integer?

即没有明确声明的支持字段 (Private _myValue As Integer?)。

Visual Basic docs 说您可以通过三种方式定义 nullable 属性:

Dim ridesBusToWork1? As Boolean
Dim ridesBusToWork2 As Boolean?
Dim ridesBusToWork3 As Nullable(Of Boolean)