|
|
|
|
|
Home
»
VB.NET
»
Building a Class Library Component and Consumer Client Application with VB.NET
|
|
|
Author Rank:
|
|
Total page views :
58626
|
|
Total downloads :
273
|
|
|
|
|
Download
Files:
|
|
|
|
|
|
|
|
|
|
|
|
|
Similar ArticlesMost ReadTop RatedLatest
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
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.
|
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.
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|