Visual Basic 2010有哪些新的改进?

Categories: VB, Visual Studio
Tags: No Tags
Comments: 1 Comment
Published on: 2010 年 05 月 11 日

[原文作者]:Jonathan Aneja [原文链接]:What’s New in Visual Basic 2010 Jonathan Aneja     自1991年面世以来,Visual Basic一直都是创建项目的高效工具。大概20年后,它仍然提供调用微软.net框架的简单方法,支持开发者开发桌面、手机、浏览器甚至云程序。     这个月微软将会发布Visual Studio 2010,它包含了Visual Basic的10版本(有时候被叫做VB2010或者VB10)。这个强大的版本包含了许多节约时间的功能,它能够帮助开发者以最少的代码做最多的事情。为了顺利的使用Visual Studio 2010里的Visual Basic,下面是所有你需要知道的。 共同改进(Coevolution)     以前,Visual Basic和C#是由不同的组开发的,这就导致了一些功能在一种语言上比在另一种语言上先出现。比如,C#有自动属性和集合初始器,Visual Basic却没有;Visual Basic有后期绑定和可选参数这些功能,C#却没有。但是当一个新的功能出现在一种语言上时,许多客户会要求另一种语言也可以兼容这些功能。     针对这些反馈,微软将Visual Basic和C#组合并,采用共同演化的策略,为的就是让各种语言能共同发展。当主要的功能在一种语言中被提出,它也应该出现在其他的语言当中。这并不意味着每一个功能都会在这两种语言中出现并且以同样的方式运作;事实上,每一种语言都有它自己的历史,意义和感觉——需要去维持的重要特征。共同演化意味着你能在一种语言里完成的功能在另一种语言里也同样简单实现。     在.NET框架4里,Visual Basic和C#朝这个目标都迈出了巨大的一步,都增加了一些另一种语言已经具有的功能。然而,共同演化并不只是关于过去,它也是语言在未来的革新。从这个意义上来说,.NET框架4推出了强大的新功能,像动态语言运行时,嵌入操作类型和泛型差异,对这两种语言,Visual Basic和C#开发者可以充分利用.NET框架的优点。 Visual Basic 2010的新功能     Visual Basic 2010的新功能是为了帮助你用更少的代码实现更多的功能。我们(Visual Basic设计组)看到开发者往往不得不写很多冗长的样板代码,调查之后我们决定让编译器去做这部分工作。这只是个蓝图,让我们一个个的深入这些功能。 隐行延续(Implicit Line Continuation)     Visual Basic是一种面向行的语言,它使用清晰的,类似于英语的语法来提高可读性。但是,这往往导致在代码中碰到了每行80个字符的限制,迫使开发者使用鼠标滚动很多。你可以使用下划线来告诉编译器,它应把下一行作为当前行的一部分来处理(即将多个物理行作为一个单独的逻辑行来处理)。但是不得不重复的输入下划线也一直使人困扰,事实上,几年来,对编译器要求最多的功能就是解决这个问题。 然而,在Visual Basic [...]

VB XML手册5:”Halloween”问题

Categories: VB
Comments: 1 Comment
Published on: 2008 年 11 月 01 日

[原文作者]:Doug Rothaus [原文链接]:VB XML Cookbook, Recipe 5: The “Halloween” Problem (Doug Rothaus)     在前两次的手册中,我们讲了关于用ReplaceWith这个方法来进行身份转换.如果这个方法满足了你的需要,它会在你的代码中引发另外一个问题–"Halloween".让我们看看这个问题到底是怎样的,怎么样去解决.(详细的"Halloween"问题和解决方案可以参考这个文档).     "Halloween"描述的场景是,你有一个以某种方式更新的数据集同时这个数据集又在被遍历的话,你会得到一个空引用的异常,更坏的是,你的代码可能会因为修改错误的数据而崩溃.例如前面两个手册用到的代码段: Private Sub Recipe5(ByVal xmlPath As String)     Dim xmlDoc = XDocument.Load(xmlPath)       Dim info = xmlDoc.<Contacts>.<Contact>.<aci:AdditionalContactInfo>       ‘ Replace e-mail address tags with mailto links.     For Each email In info…<act:eMail>       [...]

VB XML手册1:用XML常量进行XML转换

Categories: VB
Tags:
Comments: No Comments
Published on: 2008 年 10 月 31 日

[原文作者]:Doug Rothaus [原文链接]:VB XML Cookbook, Recipe 1: XML Transformations using XML Literals                我正在做一个关于用Visual Basic XML Literals取代XSLT转换的博客,我发现这个博客将会很长,所以,Avner Aharoni 和我谈了之后决定像几个月前我们做的LINQ操作指南一样把它分为多个条目并成一个系列。        先介绍一下VB XML的操作指南。这个操作指南介绍了如何在Visual Basic中使用XML Literals的快速而简单的方法。在很多情况下,我们将会参考有着直接或者是相近功能的XSLT和XPath。你将会发现用XML Literals来转换和翻译XML是一件快速而简单的事情,XML的轴属性,和LINQ到XML,这一切都是从Visual Basic 2008开始的。       首先介绍如何用XML Literals和LINQ执行简单的XML转换。每个例子都用了一个嵌入式表达,从LINQ队列或者其他的资源,比如属性或函数中返回一组XML Literals,只需几行Visual Basic代码就能完成整个XSLT的转换。        先看第一个例子,我们用了一个包含SQL Server的XML文件(AWContacts.xml)。每一个<Contact>标签都有一个<EmailAddress>的子标签,下面的代码创建了一个新的在代码中含有e-mail地址的XML文件。 Imports <xmlns="http://SampleSchema/AWContacts">   Public Class XMLCookbook  Private Sub Recipe1()    Dim [...]

Visual Basic 2008 隐藏彩蛋

Categories: VB
Tags:
Comments: No Comments
Published on: 2008 年 10 月 31 日

[原文作者]:Amanda Silver [原文链接]:Hidden Gems in Visual Basic 2008     昨天,我答应写一篇关于 Visual Basic 和 Visual Studio 2008里隐藏彩蛋的文章,这些彩蛋是你们在博客帖子或会议上从未见过的。我曾提及到了一些我最喜爱的特性,在BataⅠ版本的阐述中我尽情炫耀了智能感知(intellisence)的改进,尤其是对关键字、本地变量和表达式,自动完成语句的改进。在那篇文章中,我也提到一种语法新特性-非严格委托(Relaxed Delegates),它允许你为事件(event)提供一个可替代的签名(alternate signatures)。这些都是很棒的特性–但我要告诉你一些“新”玩意!     经过队员们的民意调查,最终我们挑选出了10个最重要的特性,我以前的文章里没有提及过的。我这里只是简单介绍,有兴趣的朋友可以继续研究。首先 ,我必须从基调特性(keynote feature)开始讲……   0)    多个 target Framework 支持(Multi-targetting)     简单的说,Multi-targetting支持你在VS2008或VB9下用.NET 2.0 framework 进行编译。下面我将要讲到的所有特性都在.NET 2.0下有效,所以当你打开Visual Studio 创建一个project以后,把framework target设置为2.0(除了第5和第7项,因为它们需要LINQ到Objects和XML API而LINQ是在.NET 3.5才推出)。 如 1)    输入推断(Type Inference)     在Visual Basic 9里面,下面的这一小段代码以及Nothing都是延迟绑定(late-bound)——在编译时(compile tine)一切都是延迟绑定,这就意味着你可以得到智能感知和输入推断。  Dim dialog = New OpenFileDialog()        Dim result = dialog.ShowDialog()        [...]

VB XML 手册2:子代和父代

Categories: VB
Comments: 3 Comments
Published on: 2008 年 10 月 28 日

[原文作者]:Doug Rothaus [原文连接]:VB XML Cookbook, Recipe 2: Descendants and Ancestors        这个手册主要是讲,在XML文件中怎样使用Visual Basic,XML轴属性和LINQ toXML对象访问子和父元素。   子代      Visual Basic提供XML轴属性,可以很容易的引用子节点和标记。这是使用XML经常会遇到的情况。你可能会需要引用下一级元素在XML的数据层次上的不同层级上出现。那样的话,你可以使用XML 子代轴属性。      XML子代轴属性是用三个跟随着你想引用的XML元素的周期来定义的。例如,在手册1中用到的AdventureWorks contacts source文件中(你可以从手册1下载这个XML文件和相关的模式)。里面有个<AdditonalContactInfo>元素,包括了关于联系方式例如电话号码,发货和帐单地址等等的信息。在<AdditionalContactInfo>元素里面的电话号码可以出现在这个元素值里面的任何位置。最终,你就可以用XML子代轴属性来引用电话号码这个元素。例如:   Dim xmlDoc = XDocument.Load("AWContacts.xml")   ‘ Return all descendant <telephoneNumber> elements Dim telephoneNumbers = _  xmlDoc.<Contacts>.<Contact>.<aci:AdditionalContactInfo>…<act:telephoneNumber>      XML子代轴属性返回XML数据层次中所有符合元素的集合。我们看一个更加完整的例子。下面的方法用XML子代轴属性返回一串联系名字和电话号码。   Imports [...]

page 1 of 3»

Welcome , today is 星期二, 2012 年 05 月 22 日