【问题标题】:Why doesn't VB.NET 9 have Automatic Properties like C# 3?为什么 VB.NET 9 没有像 C# 3 这样的自动属性?
【发布时间】:2023-03-25 18:30:01
【问题描述】:

是否有一个很好的小功能可以更快地编写代码,例如自动属性,非常适合 VB.NET 的口头禅?

这样的事情会很完美:

Public Property FirstName() As String
    Get
    Set
End Property

更新: VB.NET 10(随 Visual Studio 2010 和 .NET 4.0 提供)将具有自动属性。这是一个显示有关该功能的一些信息的链接:http://geekswithblogs.net/DarrenFieldhouse/archive/2008/12/01/new-features-in-vb.net-10-.net-4.0.aspx

在 VB.NET 10 中,自动属性的定义如下:

Public Property CustomerID As Integer

【问题讨论】:

    标签: c# vb.net properties language-features


    【解决方案1】:

    vb 不需要自动属性 使用自动属性做出的让步是您不能修改 Get 和 Set。

    如果您不需要这些,只需创建一个公共数据字段。

    VB 多年来一直拥有自动属性。他们只是叫他们别的东西。

    【讨论】:

    • C# 也有公共字段。而且它们不是两种语言的自动属性 ​​- 存在差异。
    • 这是错误的。字段和属性是非常非常不同的东西。
    【解决方案2】:

    我知道这篇文章很旧,所以你可能已经知道了,但 VB 将在 VS 的下一版本中获得自动属性。

    基于response to feedbackChannel9

    【讨论】:

      【解决方案3】:

      这在 vb.net 中也没有那么大的痛点,因为 Visual Studio 会自动为您创建 90% 的属性骨架代码,而使用 C# 时您必须全部输入。

      【讨论】:

        【解决方案4】:

        许多功能在 VB 中被延迟的一个原因是开发结构与 C# 中的大不相同,此外,这通常更多地考虑到细节。正如Paul Vick's post 所建议的那样,在这种情况下似乎也是如此。这是不幸的,因为它在许多情况下意味着延迟(自动属性、迭代器方法、多行 lambda,仅举几例),但另一方面,从长远来看,VB 开发人员通常会获得更成熟的功能(查看讨论,这对于迭代器方法尤其如此)。

        所以,长话短说:VB 10 将(希望!)看到自动属性。

        【讨论】:

        • 我不认为 VB.NET 在实现一个特性之前比 C# 得到更多的考虑。我来吧,事实并非如此。
        • 我并不是说 C# 开发人员不那么小心;我是说生产周期更快,功能被引入语言,然后再升级。迭代器方法(尝试递归它们!)和可能的自动属性绝对是这种情况。
        • @Konrad:VB 中的迭代器方法?在哪里?什么时候?
        【解决方案5】:

        真的没有什么特别的原因。即使 VB.NET 和 C# 被吹捧为同样强大(公平地说,它们),它们的语法和某些结构有时也会有所不同,这种情况一直都是如此。你有两个不同的开发团队在开发这些语言,所以这是你可以预料到的。

        【讨论】:

        • 语言同样强大; ms提供的工具功能不同。
        【解决方案6】:

        如果您想更快地完成属性,请尝试使用代码 sn-ps。 类型: 财产 输入“y”后,按 Tab 键 :-)。

        我意识到这并不能回答特定问题,但确实为您提供了 VB 团队提供的内容...

        【讨论】:

          【解决方案7】:

          C# 和 VB.NET 在它们的第一个版本中并没有完全符合新特性。通常,到下一个版本 C# 会赶上一些 VB.NET 功能,反之亦然。我有点喜欢来自 VB.NET 的文字 XML,并希望他们将其添加到 C#。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-04-05
            • 1970-01-01
            • 1970-01-01
            • 2011-04-09
            • 2018-11-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多