在 C# 中:
public string Property { get; private set; }
在VB中?
像这样:
Private Thingy As Integer
Property Thing() As Integer
Get
Return Thingy
End Get
Private Set(ByVal value As Integer)
Thingy = value
End Set
End Property
VB10中的自动属性
Property PartNo As Integer = 44302
但是即使在 VB10 中也无法在 vb 中完成私有集,请参见此处:
来自 MSDN(如约翰所说):
需要标准语法的属性定义:
- 为 Get 和 Set 过程指定不同的可访问性。例如,您可能希望将 Set 过程设为 Private,将 Get 过程设为 Public。
根据这篇 MSDN 文章,您不能:
自动实现的属性很方便并且支持许多编程场景。但是,在某些情况下,您不能使用自动实现的属性,而必须使用标准或扩展的属性语法。
如果要执行以下任一操作,则必须使用扩展的属性定义语法:
[...]
- 为 Get 和 Set 过程指定不同的可访问性。例如,您可能希望将 Set 过程设为 Private,将 Get 过程设为 Public。