为什么VB.NET 9没有像C#3这样的自动属性?
-
02-07-2019 - |
题
有一个很好的小功能,可以更快地编写像自动属性这样的代码,非常适合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
解决方案
VB中许多功能被延迟的一个原因是开发结构与C#有很大不同,此外,通常更多的考虑细节。在这种情况下似乎也是如此,如 Paul Vick的帖子就此事。这是不幸的,因为它意味着在许多情况下延迟(自动属性,迭代器方法,多行lambda,仅举几例)但另一方面,VB开发人员通常从长远来看会获得更成熟的功能(查看在讨论中,迭代器方法尤其如此。
所以,长话短说:VB 10会(希望!)看到自动属性。
其他提示
它在vb.net中也没有那么大的痛点,因为visual studio会自动为你创建一个属性的90%的骨架代码,而使用C#你以前必须全部输入它。 / p>
如果您想更快地完成属性,请尝试使用代码段。 类型: 属性 在输入“y”之后,按Tab键: - )。
我意识到这并没有回答特定问题,但确实给了你VB团队提供的内容......
C#和VB.NET并没有完全排列第一版的新功能。通常,在下一个版本中,C#会捕获一些VB.NET功能,反之亦然。我有点像VB.NET的文字XML,希望他们把它添加到C#。
真的没有特别的理由。一直以来,即使VB.NET和C#被吹捧为同样强大(并且公平地说,它们 ),它们的语法和一些结构有时会有所不同。你有两个不同的开发团队致力于语言,所以你可以期待它发生。
vb中不需要自动属性 通过使用自动属性做出的让步是你不能修改Get和Set。
如果您不需要这些,只需创建一个公共数据字段。
VB多年来一直拥有自动属性。他们只是称他们为别的东西。