VB.net自动属性 ​​- 只读?

thi*_*ing 5 vb.net properties


是否有可能(以及如何)在VB 2010中创建只读自动属性?

Public Class Foo  
  Public Property Value As Integer  
  Public Sub New()  
      _Value = 123
  End Sub  
End Class  
Run Code Online (Sandbox Code Playgroud)

问题是用户可以写入属性.感谢名单

Hei*_*nzi 8

VB14现在支持它(Visual Studio 2015及更高版本):

Public Class Foo  
    Public ReadOnly Property Value As Integer = 123
End Class  
Run Code Online (Sandbox Code Playgroud)

请参阅https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-VB-14#read-only-auto-properties

在早期版本中,您需要创建一个支持字段.


Han*_*son 5

不,VB.Net 不支持只读自动属性。请参阅此MS Connect问题以了解其背后的原因(特别是 Jonathan Aneja 的评论)。