VB.net自动属性 - 只读?

7


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

Public Class Foo  
  Public Property Value As Integer  
  Public Sub New()  
      _Value = 123
  End Sub  
End Class  

问题在于用户可以写入该属性。

谢谢。

我不明白你的问题是什么。猜测一下,我认为你想要只允许读取而不允许写入该值。 - Ash Burlaczenko
4个回答

12

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

2
不,这是不可能的。你必须创建一个明确的后备字段。

0

思考,

你可以创建一个代码片段来添加通用属性。

http://msdn.microsoft.com/en-us/library/ms165392(v=vs.90).aspx

请注意,Visual Studio已经改变了我们构建属性的基本方式,使用get set,现在只需要一个带有get set的一行即可。如果您确实需要内置逻辑,则可以构建完整的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?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接