Visual basic net preview
1 / 48

Visual Basic.NET Preview - PowerPoint PPT Presentation

  • Uploaded on

Visual Basic.NET Preview. David Stevenson Consulting Software Engineer, ABB [email protected] How to Get Visual Basic.NET. Requires Windows 2000, IE 5.5 (helpful to install IIS 5 on Win2K Pro) NET Overview:

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' Visual Basic.NET Preview' - orrin

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Visual basic net preview

Visual Basic.NET Preview

David StevensonConsulting Software Engineer, [email protected]

How to get visual basic net
How to Get Visual Basic.NET

  • Requires Windows 2000, IE 5.5 (helpful to install IIS 5 on Win2K Pro)

  • NET Overview:

  • Download NET:

Visual basic net goals
Visual Basic.NET Goals

  • Rapid Application Development of Enterprise Web Applications

  • Language Interoperability

  • Improved Object Oriented Features

Modern language features
Modern Language Features

  • Free Threading

  • Structured Exception Handling

  • Type Safety

  • Shared Members

  • Initializers

Object oriented features
Object Oriented Features

  • Inheritance

  • Encapsulation

  • Overloading

  • Polymorphism

  • Parameterized Constructors


  • Syntax subject to change in released product.

  • Most of the following is a summary of Microsoft’s article: Visual Studio Enables the Programmable Web. Examples may be changed slightly.

Oop inheritance
OOP: Inheritance

  • Ability to reuse code via Inherits keyword.

  • Derived class inherits all methods and properties of the base class.

  • Derived class can override methods defined in the base class using the Overrides keyword.

  • The derived class can extend the base class by adding new methods and properties.

Inheritance example
Inheritance Example

Public Class MyBaseClass

Function GetCustomer ()

Console.WriteLine ( "MyBaseClass.GetCustomer" )

End Function

End Class

Public Class MyDerivedClass : Inherits MyBaseClass

Function GetOrders ()


End Function

End Class

Public Module modmain

Sub Main()

Dim d As MyDerivedClass

d.GetOrders ()

End Sub

End Module

Overrides example
Overrides Example

Class MyVeryDerivedClass

Inherits MyDerivedClass

Overrides Function GetOrders ( )

Oop encapsulation
OOP: Encapsulation

  • New Protected keyword.

  • Hides properties/methods except for derived classes.

    Protected cName as string

    Protected Function ChangeName ( NewName )

    Me.cName = NewName

    End Function

Oop overloading
OOP: Overloading

  • VB6: Overloading via Implicit Auto-Conversion was potentially dangerous.

  • VB.NET: Creating two or more functions with the same name, but with different function signatures (parameters).

  • Overloaded functions can process data differently.

Overloading example
Overloading Example

Overloads Sub Display ( theChar As Char )

Overloads Sub Display ( theInteger As Integer )

Overloads Sub Display ( theString As String )

Oop polymorphism
OOP: Polymorphism

  • Ability to process an object differently depending on its data type or class.

  • Ability to redefine methods for derived classes.

Polymorphism example
Polymorphism Example

Class Employee

Overridable Function PayEmployee () As Decimal

PayEmployee = Hours * HourlyRate

End Function

End Class

Class CommissionedEmployee

Inherits Employee

Overrides Function PayEmployee ( ) As Decimal

PayEmployee = BasePay + Commissions

End Function

End Class

Oop parameterized constructors
OOP: Parameterized Constructors

  • VB6: Unparameterized Class_Initialize

  • VB.NET: Allows the creation of a new instance of a class while passing arguments for initializing the data of the new class.

  • VB.NET: Simultaneous creation and initialization of an object instance.

Oop parameterized constructors1
OOP: Parameterized Constructors

Public Class Test

Private i as Integer

Overloads Public Sub New()


i = 321

End Sub

Overloads Public Sub New ( ByVal par as Integer )


i = Par

End Sub

End Class


  • Abstract classes without implementation.

  • Can inherit from other interfaces.

  • Concrete classes can singly inherit, but have multiple interface implementations.

Interface example part 1
Interface Example Part 1

Public Interface IDog

Function Barks ( ByVal strBark As String )

End Interface

Public Interface IDog2 : Inherits IDog

Function Bites ( ByVal intNumBites As Integer )

End Interface

Interface example part 2
Interface Example Part 2

Public Class Dogs

Implements IDog

Implements IDog2

Public Function Bites ( ByVal intNumBites As Integer ) _

Implements IDog2.Bites

Console.WriteLine ( "is worse than {0} bites.", intNumBites )

End Function

Public Function Barks ( ByVal strBark As String ) _

Implements IDog.Barks

Console.Write ( "A Dog's bark {0} ", strBark )

End Function

End Class

Free threading
Free Threading

  • Concurrent processing improves scalability.

  • Can start a thread and run asynchronously.

Free threading example
Free Threading Example

Sub CreateMyThread ( )

Dim b As BackGroundWork

Dim t As Thread

Dim b = New BackGroundWork ()

Set t = New Thread ( New ThreadStart ( AddressOf b.DoIt )

End Sub

Class BackGroundWork

Sub DoIt ( )

End Sub

End Class

Structured exception handling
Structured Exception Handling

  • VB6: On Error Goto

    • Problem: Goto Error Handling routine, Goto Central Error Processing Routine, Exit out of procedure.

  • VB.NET: Try… Catch… Finally

Structured exception handling example
Structured Exception Handling Example

Sub SEH ( )


Open “TESTFILE” For Output As #1

Write #1, CustomerInformation




Close #1

End try

Try catch finally syntax
Try, Catch, Finally Syntax



Catch exception1 [ As type ] [ When expression ]


[ Exit Try ]

Catch exception2 [ As type ] [ When expression ]


[ Exit Try ]



End Try

Type safety
Type Safety

  • VB6: Implicit Auto-Conversion on subroutine/function calls. Fails during run-time if data loss occurs.

  • VB.NET: Option Strict generates compile-time errors if a conversion is required.Option Strict Off.

Data type changes
Data Type Changes

  • Decimal data type replaces Currency data type.

  • Long is 64 bits. Integer is 32 bits. Short (new) is 16 bits.

Shared members
Shared Members

  • Data and method members of classes that are shared by all instances of a class.

  • A shared data member is one that all instances of a class share.

  • A shared method is a method that is not implicitly passed an instance of the class. (consequently, access to class data members is not allowed).


  • Initialization of variables on the lines they are declared.

    Dim X As Integer = 1

  • Equivalent to:

    Dim X As Integer

    X = 1

  • VB6 Recommendation:

    Dim X As Integer : X = 1


  • For organizing code hierarchically.

  • Example:

    Namespace UserGroups.NewYork.Rochester.VDUNY

    ... Insert your code here

    End Namespace


  • Always public.

  • Components within the namespace may have Public, Friend or Private access.

  • Default access type is Friend.

  • Private members of a namespace are accessible only within the namespace declaration they were declared in.

Imports statement
Imports Statement

  • Imports namespace names from referenced projects and assemblies.

  • Syntax: Imports [aliasname = ] namespace

    Imports System

    Imports Microsoft.VisualBasic

Common language run time
Common Language Run-Time

  • System.*

  • “This changes everything.” Dodge Intrepid Commerical

Hello world
Hello World!

' Allow easy reference System namespace classes

Imports System

' Module houses the application’s entry point

Public Module modmain

' "Main" is application's entry point

Sub Main()

' Write text to the console

Console.WriteLine ("Hello World using Visual Basic!")

End Sub

End Module

Migrating from vb6 or vbscript to vb net
Migrating from VB6 or VBScript to VB.NET

  • Following information from A Preview of Active Server Pages+, Appendix B, Moving from VBScript or VB6 to VB7

  • Set and Let keywords no longer supported in VB.NET.

  • Set objVar = objRef ‘ VB6

  • objVar = objRef ‘ VB.NET

  • Class property syntax changes in VB.NET.

Vb 6 class property syntax
VB 6 Class Property Syntax

Private mstrString As String

Public Property Let MyString ( ByVal NewVal As String )

mstrString = NewVal

End Property

Public Property Get MyString () As String

MyString = mstrString

End Property

Vb net class property syntax
VB.NET Class Property Syntax

Private mstrString As String

Public Property MyString As String


MyString = mstrString

End Get


mstrString = Value

End Set

End Property

Readonly and writeonly properties in vb net
ReadOnly and WriteOnly Properties in VB.NET

Private mstrReadOnlyString As String

ReadOnly Public Property MyReadOnlyString As String


MyReadOnlyString = mstrReadOnlyString

End Get

End Property

Method function and subroutine calls require parenthesis
Method, Function and Subroutine Calls Require Parenthesis

  • VB.NET requires parenthesis around method, function and subroutine call parameters.

    MyFunction ( “Param1”, 1234 )

    objRef.MyMethod ( “Param1”, “Param2” )

    Response.Write ( “<B>Some Text</B>” )

  • VB6: Use: Call MyFunction ( “par1” )

Parameters default to byval
Parameters Default to ByVal

  • VB.NET defaults to ByVal for all parameters that are intrinsic data types.

  • Previously(VB6), the default was ByRef.

  • VB6 Recommendation: Explicitly declare all parameters to ByVal or ByRef.

  • References to objects, interfaces, array and string variables still default to ByRef.

Declarations in vb net
Declarations in VB.NET

  • Variables declared in the same statements must be the same type. No longer allowed:Dim a As Integer, b As String

  • Variables can be initialized in the same statement they are declared:Dim a As Integer = 123Dim intArray ( 3 ) = ( 12, 34, 56 )

Default values and optional parameters
Default Values andOptional Parameters

  • Default values can be supplied in function parameters.Sub MySubr ( ByVal intParam1 As Integer = 123 )

  • Optional parameters must always supply a default value.Function MyFunction ( Optional ByVal strParam As String = “MyString” )

  • IsMissing keyword is no longer supported.

Explicit casting now required
Explicit Casting Now Required

  • VB6 Sometimes did implicit auto-conversion of data types.

  • VB.NET now requires explicit casting.Response.Write ( CStr ( intLoop ) ) Trace.Write ( CStr ( intLoop ) )

Shorthand assignments
Shorthand assignments

  • VB6: intVar = intVar + 1

  • VB.NET: intVar += 1 intVar -= 1 intVar *= 2intVar /= 2

Short circuited conditional statements
Short Circuited Conditional Statements

  • Conditional expressions with And or Or: if first test fails, following expressions won’t be executed:if ( a = b ) And ( c = d ) Then …If a is not equal to b, then the test for c = d will not be executed.


  • Visual Studio Enables the Programmable Web,

  • Joshua Trupin, The Future of Visual Basic: Web Forms, Web Services, and Language Enhancements Slated for Next Generation,


  • Introducing Win Forms,

  • Visual Studio Enables the Programmable WebWeb Forms,


  • Richard Anderson, Alex Homer, Rob Howard, Dave Sussman, A Preview of Active Server Pages +, Appendix B, Moving from VBScript or VB6 to VB7.


  • Microsoft .NET & ASP+ Resources and Information,

  • News Server: news.devx.comNews Group: vb.vb7

  • News Server: Group:*