在vb.net中是否有设置只读属性的简写方法

在vb.net中是否有设置只读属性的简写方法,vb.net,Vb.net,我经常在vb.net中重复这样做 Private _nerfed As Boolean Public ReadOnly Property nerfed As Boolean Get Return _nerfed End Get End Property 我想知道有没有速记的 我知道 Private _nerfed As Boolean Public Property nerfed As Boolean Get Return _nerfed

我经常在vb.net中重复这样做

Private _nerfed As Boolean
Public ReadOnly Property nerfed As Boolean
    Get
        Return _nerfed
    End Get
End Property
我想知道有没有速记的

我知道

Private _nerfed As Boolean
Public Property nerfed As Boolean
    Get
        Return _nerfed
    End Get
    Set (nerfed)
        _nerfed =nerfed
    End Get
End Property
可以用简单的

Public Property nerfed As Boolean

那么readonly变体呢?

自VB 2010以来,readonly速记属性可用:

Public ReadOnly Property nerfed As Boolean
在VB 2015中,您可以对其进行初始化:

Public ReadOnly Property nerfed As Boolean = True

VB现在拥有只读的自动实现属性:只需将
ReadOnly
关键字添加到属性声明中。下面是一个例子:

作为字符串的公共只读属性Id

只想添加到其他答案中


我们可以在此处阅读更多内容

以添加答案,如果自动实现的属性也在实现接口,则该值在接口实现之前变为!让我找了一会儿

Public ReadOnly属性Nerfed As Boolean=True实现了INerf.Nerfed

私有变量将自动禁用?好吧,VB将使用一个隐藏的私有字段-命名只对编译器有影响。正如@J.Chang所说,私有变量将以下划线作为前缀。您可以在类中的任何位置使用它,因此它与{get;private set;}的C#语法非常相似。这不仅对编译器很重要,另一个答案也很好。我只是选择这一个来提及自动实现