Click here to Skip to main content
6,630,901 members and growing! (18,950 online)
Email Password   helpLost your password?
Web Development » ASP.NET » General     Intermediate License: The Code Project Open License (CPOL)

Sample ASP.Net Application for Generics

By Ra...aj

A simple Application in ASP.Net to demonstrates the use of Generics
C# 2.0, Windows, .NET 2.0, ASP.NET, WebForms, VS2005, Dev
Posted:6 Oct 2007
Updated:12 Oct 2007
Views:26,664
Bookmarked:18 times
Unedited contribution
Announcements
Loading...
 
Search    
Advanced Search
Add to IE Search
printPrint   add Share
      Discuss Discuss   Broken Article?Report  
17 votes for this article.
Popularity: 2.91 Rating: 2.36 out of 5
7 votes, 41.2%
1
2 votes, 11.8%
2
2 votes, 11.8%
3

4
6 votes, 35.3%
5

Introduction

Generics are a new feature in version 2.0 of the C# language and the common language runtime (CLR)

When you use generics, you are creating classes or methods that use a generic type, rather than a specific type. For example, rather than creating a type-specific, you could create a reusable List class using generics.

How is that different from the ArrayList class?

The System.Collection.ArrayList can be used with any objectn, but no type checking is done when objects are passed to methods. You have to manually cast objects back to our type when retrieving; which makes the code harder.

Using the code

I have a Strongly Typed Class named "StudentList" and Generics Class named "MyCustomList<T>" and a sample class named "Student".

"StudentList" class can accepts only Type of Student Objects for its Methods.

But "MyCustomList<T>" Class can Accept any Type u specifying in "T"

Consider the class Student

/// <summary>

/// Student Class

/// </summary>

public class Student
{
    private string fname;
    private string lname;
    private int age;

    /// <summary>

    /// First Name Of The Student

    /// </summary>

    public string FirstName
    {
        get { return fname; }
        set { fname = value; }
    }
    /// <summary>

    /// Last Name Of The Student

    /// </summary>

    public string LastName
    {
        get { return lname; }
        set { lname = value; }
    }
    /// <summary>

    /// Age of The Student

    /// </summary>

    public int Age
    {
        get { return age; }
        set { age = value; }
    }

    /// <summary>

    /// Creates new Instance Of Student

    /// </summary>

    /// <param name="fname">FirstName</param>

    /// <param name="lname">LastName</param>

    /// <param name="age">Age</param>

    public Student(string fname, string lname, int age)
    {
        FirstName = fname;
        LastName = lname;
        Age = age;
    }

}

For "StudentList" and "MyCustomList<T>" classes see the code attached.

We can use StudentList like..

        Student dhas = new Student("Manick", "Dhas", 22);
        Student raj = new Student("Sundar", "Raj", 32);

        ///Using a custom strongly typed StudentList

        StudentList mc = new StudentList();
        mc.Add(dhas);
        mc.Add(raj);

        Response.Write("<B><U>Using a custom strongly typed StudentList</B></U><BR>");
        foreach (Student s in mc)
        {
            Response.Write("First Name : " + s.FirstName + "<BR>");
            Response.Write("Last Name : " + s.LastName + "<BR>");
            Response.Write("Age : " + s.Age + "<BR><BR>");
        } 

We can use MyCustomList<T> like..

        ///Creating a list of Student objects using my custom generics

        MyCustomList<Student> student = new MyCustomList<Student>();
        student.Add(dhas);
        student.Add(raj);

        Response.Write("<BR><B><U>Using a list of Student objects using my custom generics</B></U><BR>");
        foreach (Student s in student)
        {
            Response.Write("First Name : " + s.FirstName + "<BR>");
            Response.Write("Last Name : " + s.LastName + "<BR>");
            Response.Write("Age : " + s.Age + "<BR><BR>");
        }
        
        ///Creating a list of Student objects using my custom generics

        MyCustomList<int> intlist = new MyCustomList<int>();
        intlist.Add(1);
        intlist.Add(2);

        Response.Write("<BR><B><U>Using a list of String values using my custom generics</B></U><BR>");
        foreach (int i in intlist)
        {
            Response.Write("Index : " + i.ToString() + "<BR>");
        }

        ///Creating a list of Student objects using my custom generics

        MyCustomList<string> strlist = new MyCustomList<string>();
        strlist.Add("One");
        strlist.Add("Two");

        Response.Write("<BR><B><U>Using a list of int values using my custom generics</B></U><BR>");
        foreach (string str in strlist)
        {
            Response.Write("Index : " + str + "<BR>");
        } 

Output:

Using a custom strongly typed StudentList
First Name : Manick
Last Name : Dhas
Age : 22

First Name : Sundar
Last Name : Raj
Age : 32


Using a list of Student objects using my custom generics
First Name : Manick
Last Name : Dhas
Age : 22

First Name : Sundar
Last Name : Raj
Age : 32


Using a list of String values using my custom generics
Index : 1
Index : 2

Using a list of int values using my custom generics
Index : One
Index : Two

Generics aim to promote:

Binary code reuse,

Performance,

Ease of reading,

Type safety.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Ra...aj


Member
Chennai
Occupation: Web Developer
Location: India India

Other popular ASP.NET articles:

Article Top
You must Sign In to use this message board.
FAQ FAQ 
 
Noise Tolerance  Layout  Per page   
 Msgs 1 to 10 of 10 (Total in Forum: 10) (Refresh)FirstPrevNext
GeneralGreat Pinmemberwhite16522:09 28 Jun '09  
GeneralEasy 2 Learn PinmemberMilton_win19:40 20 May '09  
GeneralGreat Article PinmembervbUser20062:10 14 Oct '07  
GeneralBrilliant! PinmemberDimitrios Kalemis8:42 11 Oct '07  
GeneralRe: Brilliant! PinmemberRa...aj18:28 11 Oct '07  
GeneralI have a dream... PinmemberMitri9:32 9 Oct '07  
AnswerRe: I have a dream... Pinmemberrastadiva21:54 9 Oct '07  
GeneralRe: I have a dream... PinmemberMagnus Salgo23:15 14 Oct '07  
GeneralRe: I have a dream... PinmemberEarl Suminda13:47 15 Oct '07  
GeneralRe: I have a dream... PinmemberBabuChellathurai18:38 16 Oct '07  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 12 Oct 2007
Editor:
Copyright 2007 by Ra...aj
Everything else Copyright © CodeProject, 1999-2009
Web22 | Advertise on the Code Project