是否有可能(以及如何)在VB 2010中创建只读自动属性?
Public Class Foo
Public Property Value As Integer
Public Sub New()
_Value = 123
End Sub
End Class
问题是用户可以写入该属性。 感谢名单
答案 0 :(得分:7)
现在VB14(Visual Studio 2015及更高版本)支持它:
def prime_counter(n):
result = [2]
for i in range(3, sys.maxsize, 2):
if is_prime(i):
result.append(i)
if len(result) == n: return result
请参阅https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-VB-14#read-only-auto-properties
在早期版本中,您需要创建一个支持字段。
答案 1 :(得分:4)
不,VB.Net不支持只读自动属性。请参阅此MS Connect问题,了解其背后的原因(特别是Jonathan Aneja的评论)。
答案 2 :(得分:2)
不,it isn't possible。您必须创建一个明确的支持字段。
答案 3 :(得分:0)
thinkthing,
您可以创建一个代码段来添加通用属性。
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?