Walkthrough: Creating a Web Application Project with a Class Library
Classes provide reusable code in the form of objects. A class library contains one or more classes that can be called on to perform specific actions. This walkthrough shows how to create a class library project and incorporate it into a Web application project.
Prerequisites
In order to complete this walkthrough, you will need:
The .NET Framework version 3.5 or later.
The SP1 release of Visual Web Developer 2010 Express or a later version.
The following procedures build upon each other. Therefore, you must follow the order of the procedures to successfully complete this walkthrough.
Creating the Class Library Project
To create the CDemoLib class library and the Customer class file
On the File menu, select NewProject to open the New Project dialog box.
In the list of Windows project types, select Class Library, and then type CDemoLib in the Name box.
Note
Always specify the name of a new project when you create it. Doing this sets the root namespace, assembly name, and project name, and also makes sure that the default class will be in the correct namespace.
In Solution Explorer, right-click CDemoLib and then click Properties.
Notice that the Default namespace box contains CDemoLib. The root namespace is used to qualify the names of class in the assembly. For example, if two assemblies provide class named Customer, you can specify the Customer class by using CDemoLib.Customer.
Close the properties window.
In Solution Explorer, right-click CDemoLib, click Add, and then click Class.
The Add New Item dialog box is displayed.
Type Customer.cs in the Name box and then click Add to create the class.
A class named Customer is added to your class library.
In Solution Explorer, right-click Class1.cs and then click Delete.
This deletes the default class that is provided with the class library, because it will not be used in this walkthrough.
In the File menu, click Save All to save the project.
Creating the Class
Constructors control the way your class is initialized. Properties are values of the class that you can get and set. In Visual C#, all constructors have the same name as the class.
Note
The access level of the constructors determines which clients will be able to create instances of the class.
To add code to define the Customer class
In the code editor, replace the existing code with the following code to define the Customer class in the CDemoLib class library.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CDemoLib { public class Customer { private int _age; private string _name; public Customer() { Age = 0; Name = "Not available"; } public int Age { get { return _age; } set { _age = value; } } public string Name { get { return _name; } set { _name = value; } } } }
Imports System Imports System.Collections.Generic Imports System.Linq Imports System.Text Namespace CDemoLib Public Class Customer Private _age As Integer Private _name As String Public Sub New() Age = 0 Name = "Not available" End Sub Public Property Age() As Integer Get Return _age End Get Set _age = value End Set End Property Public Property Name() As String Get Return _name End Get Set _name = value End Set End Property End Class End Namespace
Adding the Class Library to a Web Application Project
To test the class, you must have a project that uses it. This project must be the first project that starts when you run the application.
To add the CDemoTest Web Application project as the startup project for the solution
In the File menu, click Add and then click New Project.
The Add New Project dialog box is displayed.
Under Project types, expand Visual Basic or Visual C#, and then click Web to display available Web templates.
In the Templates box, select ASP.NET Web Application.
In the Name box, type CDemoTest as the name of the new application.
Click OK.
creates the Web application project in the existing solution.
In order to use the Customer class, the client test project must have a reference to the class library project. After you add the reference, it is a good idea to add a using statement in C# (an Imports statement in Visual Basic) to the test application to simplify the use of the class.
To add a reference to the class library project
In Solution Explorer, right-click the References node underneath CDemoTest, and then click Add Reference.
In the Add Reference dialog box, select the Projects tab.
Double-click the CDemoLib class library project. CDemoLib will appear under the References node for the CDemoTest project.
In Solution Explorer, right-click Default.aspx and then click View Code.
Adding the reference to CDemoLib lets you use the fully qualified name of the Customer class, which is CDemoLib.Customer.
To add a using or Imports statement
Add the following using statement (Imports in Visual Basic) at the top of the code editor window for the Default.aspx page.
using CDemoLib;
Imports CDemoLib
Adding this statement lets you omit the library name, and refer to the class type as Customer.
Using the Class from the Class Library
The CDemoTest Web application will call the class that is contained in the class library and display the results.
To add code to create and use a Customer object
In Solution Explorer, right-click Default.aspx and select View Designer.
From the Standard tab of the Toolbox, drag a Label control onto the design surface.
Double-click the design surface to display the Page_Load event handler.
In the Page_Load event handler add the following code:
Customer myCustomer = new Customer(); myCustomer.Name = "Kevin Browne"; myCustomer.Age = 42; Label1.Text = "Name: " + myCustomer.Name + "<br/>Age: " + myCustomer.Age.ToString();
Dim myCustomer As New Customer() myCustomer.Name = "Kevin Browne" myCustomer.Age = 42 Label1.Text = "Name: " & myCustomer.Name + "<br/>Age: " & _ myCustomer.Age.ToString()
In the File menu, click Save All to save the solution.
To run and debug the CDemoTest project
Press CTRL+F5 to start the solution.
Notice that the Customer class properties are automatically displayed in the label control.
Close the browser window to return to the development environment.
Next Steps
This walkthrough illustrates the basic process of adding a class library to a Web application project. You might want to expand this example by including additional classes, interfaces, and value types to your class library. Also, consider adding multiple class libraries.