Advantages of migrating to VB.NET ?
Ans: 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 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.
Using ActiveX Control in .Net :
ActiveX control is a special type of COM component that
supports a User Interface. Using ActiveX Control in your .Net Project is even
easier than using COM component. They are bundled usually in .ocx files. Again
a proxy assembly is made by .Net utility AxImp.exe (which we will see shortly)
which your application (or client) uses as if it is a .Net control or assembly.
Making Proxy Assembly For ActiveX Control: First, a proxy
assembly is made using AxImp.exe (acronym for ActiveX Import) by writing following
command on Command Prompt:
C:> AxImp C:MyProjectsMyControl.ocx
This command will make two dlls, e.g., in case of above
command
MyControl.dll
AxMyControl.dll
The first file MyControl.dll is a .Net assembly proxy, which
allows you to reference the ActiveX as if it were non-graphical object.
The second file AxMyControl.dll is the Windows Control,
which allows u to use the graphical aspects of activex control and use it in
the Windows Form Project.
Adding Reference of ActiveX Proxy Assembly in your Project
Settings: To add a reference of ActiveX Proxy Assembly in our Project, do this:
o Select Project A Add Reference (Select Add Reference from
Project Menu).
o This will show you a dialog box, select .Net tab from the
top of window.
o Click Browse button on the top right of window.
o Select the dll file for your ActiveX Proxy Assembly (which
is MyControl.dll) and click OK o Your selected component is now shown in the
‘Selected Component’ List Box. Click OK again Some More On Using COM or ActiveX
in .Net
.Net only provides wrapper class or proxy assembly (Runtime
Callable Wrapper or RCW) for COM or activeX control. In the background, it is
actually delegating the tasks to the original COM, so it does not convert your
COM/activeX but just imports them.
A good thing about .Net is that when it imports a component,
it also imports the components that are publically referenced by that
component. So, if your component, say MyDataAcsess.dll references ADODB.dll
then .Net will automatically import that COM component too!
The Visual Studio.NET does surprise you in a great deal when
u see that it is applying its intellisense (showing methods, classes,
interfaces, properties when placing dot) even on your imported COM
components!!!! Isn’t it a magic or what?
When accessing thru RCW, .Net client has no knowledge that
it is using COM component, it is presented just as another C# assembly.
U can also import COM component thru command prompt (for
reference see Professional C# by Wrox)
No comments:
Post a Comment