【问题标题】:Does VB.NET have an equivalent of C# auto property with custom access specifier?VB.NET 是否具有与自定义访问说明符等效的 C# auto 属性?
【发布时间】:2011-06-28 06:55:13
【问题描述】:

我只是想知道在 VB.Net 中是否有与这种 C# 等效的简写,包括 private setter:

public string Test { get; private set; }

有人可以告诉我在 VB.Net 中实现这一目标的最短方法吗?

【问题讨论】:

  • 不,我想知道是否有一种方法可以像在 C# 中那样在一行中执行私有集,但在 VB.Net 中却不能。
  • @Stormenet 不是重复的。请参阅 Alex 的澄清评论。
  • 我明白了,问题不是很清楚,我已经为你改变了。

标签: c# .net vb.net


【解决方案1】:

对不起,这是 VB.NET 中的not possible

自动实现的属性是 方便,支持很多 编程场景。然而,有 是您无法使用的情况 一个自动实现的属性,并且必须 而是使用标准或扩展, 属性语法。

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

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

【讨论】:

    【解决方案2】:

    不幸的是,您不能对 VB.NET 中的自动属性访问器使用不同的辅助功能。您必须手动编写属性代码。

    【讨论】:

      【解决方案3】:

      像这样:

      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
      

      别无选择。

      【讨论】:

        猜你喜欢
        • 2017-02-16
        • 1970-01-01
        • 2012-08-10
        • 1970-01-01
        • 2013-10-22
        • 1970-01-01
        • 2015-06-28
        • 1970-01-01
        • 2019-12-10
        相关资源
        最近更新 更多