Advantages of migrating to VB.NET ?
Visual Basic .NET has many new and improved language features — such
as inheritance, interfaces, and overloading that make it a powerful
object-oriented programming language. As a Visual Basic developer,
you can now create multithreaded, scalable applications using
explicit multithreading. Other new language features in Visual
Basic .NET include structured exception handling, custom attributes,
and common language specification (CLS) compliance.
The CLS is a set of rules that standardizes such things as data
types and how objects are exposed and interoperate. Visual
Basic .NET adds several features that take advantage of the CLS. Any
CLS-compliant language can use the classes, objects, and components
you create in Visual Basic .NET. And you, as a Visual Basic user,
can access classes, components, and objects from other CLS-compliant
programming languages without worrying about language-specific
differences such as data types. CLS features used by Visual
Basic .NET programs include assemblies, namespaces, and attributes.
These are the new features to be stated briefly:
Inheritance
Visual Basic .NET supports inheritance by allowing you to define
classes that serve as the basis for derived classes. Derived classes
inherit and can extend the properties and methods of the base class.
They can also override inherited methods with new implementations.
All classes created with Visual Basic .NET are inheritable by
default. Because the forms you design are really classes, you can
use inheritance to define new forms based on existing ones.
Exception Handling
Visual Basic .NET supports structured exception handling, using an
enhanced version of the Try…Catch…Finally syntax supported by
other languages such as C++.
Structured exception handling combines a modern control structure
(similar to Select Case or While) with exceptions, protected blocks
of code, and filters. Structured exception handling makes it easy to
create and maintain programs with robust, comprehensive error
handlers.
Overloading
Overloading is the ability to define properties, methods, or
procedures that have the same name but use different data types.
Overloaded procedures allow you to provide as many implementations
as necessary to handle different kinds of data, while giving the
appearance of a single, versatile procedure. Overriding Properties
and Methods The Overrides keyword allows derived objects to override
characteristics inherited from parent objects. Overridden members
have the same arguments as the members inherited from the base
class, but different implementations. A member’s new implementation
can call the original implementation in the parent class by
preceding the member name with MyBase.
Constructors and Destructors
Constructors are procedures that control initialization of new
instances of a class. Conversely, destructors are methods that free
system resources when a class leaves scope or is set to Nothing.
Visual Basic .NET supports constructors and destructors using the
Sub New and Sub Finalize procedures.
Data Types
Visual Basic .NET introduces three new data types. The Char data
type is an unsigned 16-bit quantity used to store Unicode
characters. It is equivalent to the .NET Framework System. Char data
type. The Short data type, a signed 16-bit integer, was named
Integer in earlier versions of Visual Basic. The Decimal data type
is a 96-bit signed integer scaled by a variable power of 10. In
earlier versions of Visual Basic, it was available only within a
Variant.
Interfaces
Interfaces describe the properties and methods of classes, but
unlike classes, do not provide implementations. The Interface
statement allows you to declare interfaces, while the Implements
statement lets you write code that puts the items described in the
interface into practice.
Delegates
Delegates objects that can call the methods of objects on your
behalf are sometimes described as type-safe, object-oriented
function pointers. You can use delegates to let procedures specify
an event handler method that runs when an event occurs. You can also
use delegates with multithreaded applications. For details, see
Delegates and the AddressOf Operator.
Shared Members
Shared members are properties, procedures, and fields that are
shared by all instances of a class. Shared data members are useful
when multiple objects need to use information that is common to all.
Shared class methods can be used without first creating an object
from a class.
References
References allow you to use objects defined in other assemblies. In
Visual Basic .NET, references point to assemblies instead of type
libraries. For details, see References and the Imports Statement.
Namespaces Namespaces prevent naming conflicts by organizing
classes, interfaces, and methods into hierarchies.
Assemblies
Assemblies replace and extend the capabilities of type libraries by,
describing all the required files for a particular component or
application. An assembly can contain one or more namespaces.
Attributes
Attributes enable you to provide additional information about
program elements. For example, you can use an attribute to specify
which methods in a class should be exposed when the class is used as
a XML Web service. Multithreading
Visual Basic .NET allows you to write applications that can perform
multiple tasks independently. A task that has the potential of
holding up other tasks can execute on a separate thread, a process
known as multithreading. By causing complicated tasks to run on
threads that are separate from your user interface, multithreading
makes your applications more responsive to user input.