Blue Theme Orange Theme Green Theme Red Theme
 
Nevron Chart
Home | Forums | Videos | Photos | Blogs | Beginners
 | Consulting  
Submit an Article Submit a Blog 
 Jump to
Skip Navigation Links
TechnologyExpand Technology
WebsiteExpand Website
 Resources  
Close
 Our Network  
Close
Search :       Advanced Search »
Home » VB.NET » Building a Class Library Component and Consumer Client Application with VB.NET

Building a Class Library Component and Consumer Client Application with VB.NET


GDI+ is next evolution of GDI. Using GDI objects in earlier versions of Visual Studio was a pain. This tutorial gives you a head start with GDI+ using VB.NET. In this tutorial, you will learn how to write graphics applications and understand the concept behind the System.Drawing namespace and its members.

Author Rank:
Total page views :  58626
Total downloads :  273
   Print Read/Post comments Post a comment  Similar Articles  
   Email to a friend  Bookmark  Author's other articles  
Download Files:
ComponentNClient.zip
 
Become a Sponsor

Creating a class library component (DLL) using Visual Studio .NET is pretty simple. In this tutorial, I will show you how to create a class library component and use it from a client application.

I have divided this tutorial in two parts. 

  • Building a server class library.
  • Building a consumer client application.
  • Building a Server Class Library.

In this section, I will create a Math server class library with a couple of methods and properties in it. 

Create an Empty Class Library Project

Select File->New->Project->Visual Basic Projects->Class Library.

Select your project name and appropriate directory using Browse button and click OK. I give my component name "VBNetMathComponent" as you can see from Figure 1.



Figure 1.

Project and Its files

The Solution Explorer adds two Visual Basic classes to your project. First is AssemblyInfo.vb and second is Class1.vb.  We don't care about AssemblyInfo class. We will be concentrating on Class1.vb. See Figure 2.



Figure 2.

If you double click on Class1.vb, you will see the class declaration as following:

Public Class Class1
End Class

Here you can change your class name to whatever you want. We change our class name to McMathClass. Now my new class looks like the following:

Public Class McMathClass
End Class

Adding Methods and Properties to the Class

Now we will add one method and one property to the class. We define a public function called Add, which takes two input parameters and returns the sum of two. We also add a property called AllowAddition of type Boolean. The Add method works only when this property is true.

The source code for Add method and AllowAddition property is listed as following:

Public Class McMathClass
' Define a local variable to store the property value.
Private allowSum As Boolean
' Define Add function which adds two double values and retunes the
' sum of two
Public Function Add(ByVal val1 As Double, ByVal val2 As Double) As Double
If allowSum = True Then
' Return the sum of two input values
Return val1 + val2
Else
Return 0
End If
End
Function
' Define AllowAddition property
Public Property AllowAddition() As String
Get
Return allowSum
End Get
Set(ByVal Value As String)
allowSum = Value
End Set
End
Property
End
Class

Build the DLL

Now build the DLL and see bin\debug directory of your project. You will see VBNetMathComponent.dll in this folder. This is your component.

Building a Class Library Consumer Client Application

Now we will create a client application that will call our class library and its members. We will create a console application that will consume our class library.

Create a Console Application

Again, we create the console application using Visual Studio .NET.

Select File->New->Project->Visual Basic Projects->Console Application.

I give my console application name MathLibraryConsumer as you can see from the Figure 3.



Figure 3.

Add Reference to the Library

Now next step is to add reference to the library. You can use Add Reference menu option to add a reference. Go to Project->Add reference and browse for VBNetMathComponent.dll as you can see from Figure 4.



Figure 4.

After completing this step, you will notice the component reference is added to your project references as you can see from Figure 5.



Figure 5.

Calling the Component

Now we create an instance of McMathClass, set its property and call Add method. As you can see from the following code, first I set AllowAddition property to false and call the Add method and send the output to the console. After that I set AllowAddition proeprty to true, call the Add method again, and send the output to the cosnole.

Module Module1
Sub Main()
' Define a private variable
Dim total As Double
' Create an instance of McMathClass
Dim myComp As New VBNetMathComponent.McMathClass()
' Set AllowAddition property to false
myComp.AllowAddition = False
Console.WriteLine("Adding two numbers with AllowAddition False:")
' Add two numbers
total = myComp.Add(3, 5)
' Send output to console
Console.WriteLine(total.ToString())
' Now set AllowAddition to true
myComp.AllowAddition = True
Console.WriteLine("Adding two numbers with AllowAddition True:")
' Add two numbers
total = myComp.Add(3, 5)
' Send output to console
Console.WriteLine(total.ToString())
Console.ReadLine()
End Sub
End
Module

Now build and run the project. The output looks like Figure 6. As you can see from this output, the Add method returns 0 when the AllowAddition property is false, and returns the sum when the AllowAddition property is true.



Figure 6.

Summary

In this simple tutorial, you learned how to write a class library using VB.NET and consume it from a consumer client application. Using the same methodology, you can implement your component and extend the functionality.


Login to add your contents and source code to this article
 About the author
 
Mahesh Chand
Mahesh is a software developer with over 13 years of experience building systems for Financial and Banking, Engineering & Architectural, Imaging, Construction, Biological & Pharmaceuticals, Healthcare and Education industries. His expertise is Windows Forms, ASP.NET, Silverlight, WPF, WCF, Visual Studio 2010, SQL Server, and Oracle. If you are looking for a Sharepoint, Windows Forms, ASP.NET, WPF, Silverlight, C#, VB.NET, Oracle, and SQL Server Consultant in Philadelphia area or remote location, drop me a line at MAHESH [AT] C-SHARPCORNER [DOT] COM.
Looking for C# Consulting?
C# Consulting is founded in 2002 by the founders of C# Corner. Unlike a traditional consulting company, our consultants are well-known experts in .NET and many of them are MVPs, authors, and trainers. We specialize in Microsoft .NET development and utilize Agile Development and Extreme Programming practices to provide fast pace quick turnaround results. Our software development model is a mix of Agile Development, traditional SDLC, and Waterfall models.
Click here to learn more about C# Consulting.
 
Introducing MaxV - one click. infinite control. Hyper-V Hosting from MaximumASP.
Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
Dynamic PDF
ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications.
SQL and .NET performance profiling in one place
Investigate SQL and .NET code side-by-side with ANTS Performance Profiler 6, so you can see which is causing the problem without switching tools.
Go.NET
Build custom interactive diagrams, network, workflow editors, flowcharts, or software design tools. Includes many predefined kinds of nodes, links, and basic shapes. Supports layers, scrolling, zooming, selection, drag-and-drop, clipboard, in-place editing, tooltips, grids, printing, overview window, palette. 100% implemented in C# as a managed .NET Control. Document/View/Tool architecture with many properties&events. Optional automatic layout.
Dundas Software
Dundas Chart for .NET is the most advanced .NET charting package available today.  With an extremely complete feature set, elegant architecture and easy implementation, Dundas Chart can quickly add advanced Charting functionality to enhance and transform ASP.NET and Windows Forms applications.  Whether you are implementing charting into internal projects, or building applications for clients, Dundas Chart offers advanced technology and advanced results to get the most out of data.
60 FREE UI Controls from DevExpress
Register for your FREE copy on over 60 free presentation controls from DevExpress - Absolutely Free-of-Charge without any royalties or distribution costs. Visit Devexpress.com/60 today. Free controls include advanced lists box, dropdown calendar, rich text edit, spin edit, tab control and so much more!

DevExpress engineers feature rich presentation controls and reporting tools for WinForms, ASP.NET, WPF, and Silverlight. Our technologies help you build your best, see complex software with greater clarity and deliver compelling business solutions for Windows and the web in the shortest possible time.
Clickatell's SMS Gateway
Clickatell's Developer Solutions allow you to SMS enable any website or application via a range of API's. Learn More about our API connections.
Free access to .NET Memory Management video
Everything you need to know about Garbage Collection, Temporary Objects, Fragmentation, Finalization and common causes of memory leaks in .NET. Watch the video here.
Microsoft Visual Studio 2010
Visualize your workspace with new multiple monitor support, powerful Web development, new SharePoint support with tons of templates and Web parts, and more accurate targeting of any version of the .NET Framework. Get set to unleash your creativity.
Nevron Chart for .NET 2010.1 Now Available
The leading .NET charting control now features PDF, Flash and Silverlight export, visualization of large datasets and more. Deliver true charting functionality to your BI, Scorecard, Presentation or Scientific apps. Download evaluation now.
Developer-Ready ASP.NET 2.0 Web Hosting with 3 MONTHS FREE
Now supporting .NET 3.0 Framework with Windows Workflow Foundation, Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF), windows CardSpace (WCS)! Providing more flexibility for Developers with Web Services Support and a User/Permission Manger. Also supporting MS SQL 2005/2000 with Real-Time Backups, FREE Automated Attach .MDF Tool, FREE SQL Restore and Shrink SQL DB Tools, and SQL
Read the Top 10 Books for Microsoft Developers, 15 Days FREE
Read the Top 10 Books for Microsoft Developers, 15 Days FREE
Try Safari Books Online - 15 Days FREE + 15% Off for 1 Year
Try Safari Books Online - 15 Days FREE + 15% Off for 1 Year
 
 Post a Feedback, Comment, or Question about this article
Subject:
Comment:
ASP.Net 4 Hosting is here
Become a Sponsor
 Comments
free fly ringtones by Ayyappan On February 1, 2006
Reply | Email | Delete | Modify | 
mtlze ehjcxzpfb by Meenal On July 17, 2006
eqkov eupr kcwrza ujwvmghr igjlfbnew zrbujn dchitneak auon dakgfwhs
Reply | Email | Delete | Modify | 
COM in vb.net by chitra On November 16, 2006

 

hi mahesh

      Iam a new member of this site.

      i need clarification for 2 of my doubts:

    1.  in our company,  for any application we create in vb.net , we do it in a 3 tier architectural style ( we create 3 projects for presentation layer, business layer and datalayer) . And for each layer we add reference.

My question : Is  the above way  we do,  is called COM implementation in vb.net ? 

          2. Is the word 'COM' referred as 'COM' itself in .net terminology or by some other name ?

 

Reply | Email | Delete | Modify | 
Re: COM in vb.net by Mahesh On November 25, 2006

1. For development, Project Reference is preferable than the assembly reference. However, assembly reference is also OK as long as your team is OK with it.

2. Yes COM is same. There is no seperate COM in .NET.

Reply | Email | Delete | Modify | 
Re: Class components by Mahesh On November 25, 2006
You may need to install the missing component.
Reply | Email | Delete | Modify | 
Re: Re: Class components by raj On July 10, 2007
Hi Mahesh, This is Raj. I am not expertise in .net. I read your article its really helpful but i have on doubt. The dll you created is it class library? And could you please tell me how can i create assembly for the same and use it into client application? Thanks and Regards, Raj
Reply | Email | Delete | Modify | 
Re: Re: Re: Class components by Mahesh On July 11, 2007

Yes this is a class library. To use it, just add reference to your application by RIGHT CLICK ON PROJECT -> SELECT ADD REFERENCE menu item -> Browse this DLL.

An assembly is a generic name from a DLL or EXE in .NET.

Reply | Email | Delete | Modify | 
Re: Re: Re: Re: Class components by Robert On September 28, 2007
Hello! I read your article and dozen more. Is it possible to use the created dll without adding it to the references? (For example: register with regsrv32.exe and use..) Robert
Reply | Email | Delete | Modify | 
Re: Re: Re: Re: Re: Class components by Mahesh On September 28, 2007
You can use it using the LoadLibrary method. Read more document on reflection and loading DLL dynamically. Search this site. I think there are some articles on it. Or search www.c-sharpcorner.com
Reply | Email | Delete | Modify | 
AllowAddition property is a Boolean by Ramasubramanian On September 28, 2008
Hi, AllowAddition property has to be boolean since you set the property value to FALSE or TRUE. Is there any reason you kept it as String. If so, the property value setting to be in quotes right. Let me know if I am wrong.
Reply | Email | Delete | Modify | 
Re: AllowAddition property is a Boolean by Mahesh On April 7, 2009
Yes you are correct.
Reply | Email | Delete | Modify | 
Re: Re: AllowAddition property is a Boolean by Rob On October 18, 2009
Is there a limit to the size of a class library dll, and is there a recommended max size?
Reply | Email | Delete | Modify | 
Mahesh - Help please..?? by Udit On June 1, 2010
Hi Mahesh,
I read ur article and it is very nicely explained...but i have a question to ask...it might be silly but still i m serious that i don't know the answer..

Ok my question is..suppose we add a Windows Media Player component in Visual Studio 2010 and we when we build our application it works fine, but when we copy just the exe file from release folder to some other folder, it gives error on runtime...u know what must be the problem?
....i m guessing that the problem are the dll files of windows media player component in release folder...the application works fine with all those files in the same folder..! Please reply ASAP..!

Thanks
Udit
Reply | Email | Delete | Modify | 

 Hosted by MaximumASP  |  Found a broken link?  |  Contact Us  |  Terms & conditions  |  Privacy Policy  |  Site Map  |  Suggest an Idea  |  Media Kit
Current Version: 5.2010.8.14
 © 2010  contents copyright of their authors. Rest everything copyright Mindcracker. All rights reserved.