lisa feigenbaum microsoft program manager session code: dev314
TRANSCRIPT
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/[email protected]
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.