VB.NET是否有与C#自动属性具有自定义访问修饰符等价的功能?

4

我只是想知道在VB.Net中是否有一种简写方式来包括这种包含private setter的C#代码:

public string Test { get; private set; }

有人能告诉我在VB.Net中实现这个的最短方法吗?

可能是VB.net中C#属性简写的等效方法?的重复问题。 - Stormenet
1
不,我在想是否有一种像C#那样可以在一行中完成私有设置的方法,结果发现在VB.Net中是不可能的。 - Alex Hope O'Connor
@Stormenet 不是重复。请看Alex的澄清评论。 - MarkJ
我明白了,问题描述不够清晰,我已经为您修改了。 - Stormenet
3个回答

5
很抱歉,VB.NET中不能实现自动属性:

自动属性非常方便且支持许多编程场景。但是,在某些情况下,您无法使用自动属性,必须改用标准或扩展属性语法。

如果要执行以下任意操作之一,则必须使用扩展属性定义语法:

  • ...
  • 创建只写或只读属性。
  • ...

1

很遗憾,在VB.NET中,您无法为自动属性访问器使用不同的可访问性。您必须手动编写属性代码。


1

像这样:

Private _test As String

Public Property Test() As String

Get
    Return _test
End Get

Private Set(ByVal Value As String)
    _test = Value
End Set

End Property

没有替代方案。


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