为什么VB.NET 9没有像C#3这样的自动属性?

时间:2008-09-23 17:04:23

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

有一个很好的小功能,可以更快地编写像自动属性这样的代码,非常适合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

7 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:5)

它在vb.net中也没有那么大的痛点,因为visual studio会自动为你创建一个属性的90%的骨架代码,而使用C#你以前必须全部输入它。 / p>

答案 2 :(得分:3)

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

我意识到这并没有回答特定问题,但确实给了你VB团队提供的内容......

答案 3 :(得分:2)

我知道这篇文章已经过时了,所以你可能已经知道但是VB在下一版VS中获得了自动属性。

基于response to feedbackChannel9

答案 4 :(得分:1)

C#和VB.NET并没有完全排列第一版的新功能。通常,在下一个版本中,C#会捕获一些VB.NET功能,反之亦然。我有点像VB.NET的文字XML,希望他们把它添加到C#。

答案 5 :(得分:1)

真的没有特别的理由。一直以来,即使VB.NET和C#被吹捧为同样强大(并且公平地说,它们 ),它们的语法和一些结构有时会有所不同。你有两个不同的开发团队致力于语言,所以你可以期待它发生。

答案 6 :(得分:-3)

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

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

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