Lisa Feigenbaum Microsoft Program Manager Session Code: DEV314.

Post on 05-Jan-2016

214 views 0 download

Transcript of Lisa Feigenbaum Microsoft Program Manager Session Code: DEV314.

A Lap Around Visual Basic in Microsoft Visual Studio 2010

Lisa FeigenbaumMicrosoft Program Managerhttp://blogs.msdn.com/lisa

Session Code: DEV314

Lap Around Visual Basic in VS 2010

Session ObjectivesDiscover what’s availableSee how to take advantage of new features

AgendaNew Editor & ShellVB IDEVB LanguageVS 2010 & .NET 4 Highlights

New Editor & Shell

WPF User InterfaceNew Look, Rich Experience

Start PageRemove or pin projects, View directory, Customize

EditorZoom, Multi-Monitor, Block selection, Outlining

ExtensibilityVisual Studio Gallery, Extension Manager

New Editor & ShellLisa FeigenbaumProgram ManagerMicrosoft

demo

“There’s an extension for that!”video

Code-Focused VB IDE

UnderstandingHighlight ReferencesType Colorization

NavigatingNavigate To: Files & Members, Ctrl+,

Writing & TestingIntelliSense: Non-aggressive, Substring, PascalCaseGenerate From Usage: Type, Method, Property

Code-Focused VB IDELisa FeigenbaumProgram ManagerMicrosoft

demo

VB LanguageSyntax Enhancements

Multiline Statement LambdasAuto-implemented PropertiesCollection InitializersArray LiteralsImplicit Line ContinuationCo/contravariance

Office Deployment: No PIADynamic Language Interop on the DLR

VB LanguageLisa FeigenbaumProgram ManagerMicrosoft

demo

Dynamic Versus Static

DynamicLanguages

Simple and succinct

Implicitly typed

Meta-programming

No compilation

StaticLanguages

Robust

Performant

Intelligent tools

Better scaling

Open Source versus Commercial

PythonBinder

RubyBinder

COMBinder

JavaScriptBinder

ObjectBinder

Dynamic Languages On .NET

Dynamic Language Runtime

Expression Trees Dynamic Dispatch Call Site Caching

IronPython IronRuby C# VB.NET Others…

ScriptObject calc = GetCalculator();object res = calc.Invoke("Add", 10, 20);int sum = Convert.ToInt32(res);

Dim calc As ScriptObject = GetCalculator()Dim res As Object = calc.Invoke("Add", 10, 20)Dim sum As Integer = Convert.ToInt32(res)

VB 10, C# 4.0 And Dynamic

Calculator calc = GetCalculator();int sum = calc.Add(10, 20);

object calc = GetCalculator();Type calcType = calc.GetType();object res = calcType.InvokeMember("Add", BindingFlags.InvokeMethod, null, new object[] { 10, 20 });int sum = Convert.ToInt32(res);

dynamic calc = GetCalculator();int sum = calc.Add(10, 20);

Dynamic method invocation

Dynamic conversion

Dim calc As Calculator = GetCalculator()Dim sum As Integer = calc.Add(10, 20)

Dim calc As Object = GetCalculator()Dim sum As Integer = calc.Add(10, 20)

Dim calc As Object = GetCalculator()Dim sum As Integer = calc.Add(10, 20)

Visual C# Visual Basic

Static binding

Dynamic binding(pre-VS 2010)

Binding to ScriptObjects (JavaScript)

Statically typed to be dynamic

Dynamic method invocation

Dynamic conversion

VB & C# 2010 LanguageFeature VB C#

Auto-implemented Properties

Collection Initializers

Array Literals

Statement Lambdas

Implicit Line Continuation N/A

Named/Optional Parameters

Latebinding support (dynamic)

Omit ref on COM calls

Indexed Properties

Interop with Dynamic Languages

Co/contravariance

PIA deployment not needed

New in VS 2010Already exists in VS 2008

VB & C# 2010 IDEFeature VB C#

Generate From Usage: Generate Method

Type colorization

Background Squiggles: Top Level Analysis

IntelliSense: Builder UI

IntelliSense: Prefix Filtering Completion List

Generate From Usage: Generate Type, Constructor, Property, FieldIntelliSense: Consume First Mode

IntelliSense: Substring & Camel-Case Match

Navigate To

Highlight References

Call Hierarchy

New in VS 2010Already exists in VS 2008

VS 2010 / .NET 4 Highlights

DGML GraphsWPF Drag & Drop IntelliTraceParallel ExtensionsNew Editor & Shell

Summary

What We’ve SeenNew Editor & ShellVB IDEVB LanguageVS 2010 & .NET 4 Highlights

Call to ActionDownload Beta2Use the resources and try it outTell us your feedback

ResourcesVisual Basic Developer Centerhttp://msdn.com/vbasic

VB 2010 Resourceshttp://msdn.microsoft.com/en-us/vbasic/dd819153.aspx

Blogshttp://blogs.msdn.com/vbteam (VB Team)http://blogs.msdn.com/lisa (Lisa)

Visual Basic Forumshttp://forums.msdn.microsoft.com/en-US/tag/visualbasic/forums/

Connecthttps://connect.microsoft.com/VisualStudio

VB 2010 Resources

Related Content

Architecture Discovery and Validation with Visual Studio 2010 [DEV313]November 12, 13:30-14:45 – Paris 2 - Hall 7-1c Peter Provost

Building High Performance Parallel Software [DEV401]November 12, 15:15 - 16:30 – Berlin 1 - Hall 7-3a Steve Teixeira

Pumping Iron: Dynamic Languages on the Microsoft .NET Framework [DEV04-IS]November 10, 17:00 - 18:15 – Interactive Theatre 2 - Orange Harry Pierson

Dynamic in Microsoft Visual C# 4.0: The Why's and How's [DEV402]November 12, 10:45 - 12:00 – Helsinki - Hall 7-2a Alex Turner

Parallel Computing for Managed Developers (Repeat) [DEV307]November 13, 09:00 - 10:15 – Europa 1 - Hall 7-3b Steve Teixeira

Using C# 4.0 & VB10 Interop Features with Silverlight, Office & Python [DEV03-IS]November 12, 15:15 - 16:30 – Interactive Theatre 2 - Orange Alex Turner

Microsoft Visual Studio Tips and Tricks (Repeat) [DEV301]November 13, 13:00 - 14:15 – London 1 - Hall 7-1b Scott Cate

question & answer

Complete an evaluation on CommNet and enter to win an Xbox 360 Elite!

http://blogs.msdn.com/lisaLisa.Feigenbaum@microsoft.com

THANK YOU!

Meet me at theTechnical Learning Center!

Wednesday: 14:45 - 17:30

Thursday: 11:30 - 14:45

Friday: 11:30 - 14:45

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,

IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.