visual basic net preview n.
Skip this Video
Download Presentation
Visual Basic.NET Preview

Loading in 2 Seconds...

play fullscreen
1 / 48

Visual Basic.NET Preview - PowerPoint PPT Presentation

  • Uploaded on

Visual Basic.NET Preview. David Stevenson Consulting Software Engineer, ABB 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

Download Now 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,

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:*