2011-04-07 78 views
6

在C#中我可以這樣做:VB.NET是否支持屬性上的自動getter和setter?

public string myProperty { get; private set; } 

這被稱爲 「自動的getter/setter」(從我所聽到的)。 VB.NET是否支持這些?到目前爲止,我的房產,我所能做的就是:

Public Property myProperty As String 
    Get 
     Return String.Empty 
    End Get 
    Private Set(ByVal value As String) 
     somethingElse = value 
    End Set 
End Property 

這是非常笨重的。

那麼...有沒有更好的方法?

+0

可能重複[VB.net相當於C#房產速記的?](http://stackoverflow.com/questions/460027/vb -net-equivalent-of-c-property-shorthand) – 2011-08-14 15:55:34

+0

請看這裏:[http://stackoverflow.com/questions/460027/vb-net-equivalent-of-c-property-shorthand](http:/ /stackoverflow.com/questions/460027/vb-net-equivalent-of-c-property-shorthand) – icesar 2011-04-07 14:40:59

回答

19

是的。

Public Property MyProperty As String 

但是,你只能讓它在VB 14 ReadOnly(VS 2015)或更高版本。

+0

啊,這是我真正的問題...我忘了指定我的意思是在get和set上使用不同的範圍(比如'get; private set;'),但無論如何你都回答了,因爲你不能使它成爲ReadOnly。謝謝! – qJake 2011-04-07 19:31:03

+3

僅在VB 2010+中可用 – MarkJ 2011-04-08 07:37:59

+0

從2015年開始看起來像[只能讀取](https://msdn.microsoft.com/en-us/library/dd293589%28v=vs.140%29.aspx)。 – starwed 2016-06-07 15:28:26