是否有可能(以及如何)在VB 2010中创建只读自动属性?VB.net自动属性 - 只读?
Public Class Foo
Public Property Value As Integer
Public Sub New()
_Value = 123
End Sub
End Class
问题是用户可以写入属性。 thanx
是否有可能(以及如何)在VB 2010中创建只读自动属性?VB.net自动属性 - 只读?
Public Class Foo
Public Property Value As Integer
Public Sub New()
_Value = 123
End Sub
End Class
问题是用户可以写入属性。 thanx
不,VB.Net不支持只读自动属性。这个背后的推理(特别是Jonathan Aneja提出的评论)看到这个MS Connect问题。
不,it isn't possible。您将不得不创建一个明确的后台字段。
thinkthing,
您可以创建一个代码片段来添加一个通用属性。
http://msdn.microsoft.com/en-us/library/ms165392(v=vs.90).aspx
当心,视觉工作室已经改变了我们建立的属性的基本途径,用get集,现在只需要一行与理解置位。如果您确实需要内置逻辑,则可以构建完整的getter和setter。我在这里是指你: http://msdn.microsoft.com/en-us/library/dd293589.aspx
,在这里,一个SO讨论关于类似的讨论: Using snippets to make Class properties in VB.net. prop only gives "property() as " Whats up?
它现在支持VB14(Visual Studio的2015年和更高版本):
Public Class Foo
Public ReadOnly Property Value As Integer = 123
End Class
请参阅https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-VB-14#read-only-auto-properties
在早期版本中,您需要创建一个支持字段。
我不明白你的问题是什么。在猜测中,我认为你只想允许读取不写入它的值。 – 2011-01-31 14:44:42