Mega Code Archive

 
Categories / ASP.Net Tutorial / Collections
 

Generics

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"  Inherits="UsingGenerics" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">     <title>Using Generics</title> </head> <body>     <form id="form1" runat="server">    <div id="container">       <h1>Using Generics</h1>       These two list boxes illustrates the use of two <em>Generic</em> <code>List</code> collections              <asp:ListBox ID="lboxStrings" runat="server"    />               <asp:ListBox ID="lboxCustomers" runat="server"           DataTextField="Name"          DataValueField="Id" />          This list boxes illustrates the use of a <em>Generic</em> <code>Dictionary</code> collection       <asp:ListBox ID="lboxDictionary" runat="server"           DataTextField="Value"          DataValueField="Key" />                </div>     </form> </body> </html> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Collections.Generic; public partial class UsingGenerics : System.Web.UI.Page {     protected void Page_Load(object sender, EventArgs e)     {        List<string> names = new List<string>();        names.Add("A");        names.Add("B");        names.Add("C");        lboxStrings.DataSource = names;        lboxStrings.DataBind();        string temp1 = names[2];        Customer c1 = new Customer("1", "A", "AA", "123-4567");        Customer c2 = new Customer("2", "B", "BB", "123-7823");        Customer c3 = new Customer("3", "C", "CC", "123-6383");        List<Customer> customers = new List<Customer>();        customers.Add(c1);        customers.Add(c2);        customers.Add(c3);        Customer c = customers[2];        customers[1] = c;        lboxCustomers.DataSource = customers;        lboxCustomers.DataBind();        Dictionary<string, Customer> dict = new Dictionary<string, Customer>();        dict.Add(c1.Id, c1);        dict.Add(c2.Id, c2);                lboxDictionary.DataSource = dict;        lboxDictionary.DataBind();     } } public abstract class AbstractEntity {    private string _id;   public AbstractEntity(string id)   {       _id = id;   }    public string Id    {       get { return _id; }       set { _id = value; }    }    public abstract bool IsValid    {       get;    } } public class Customer: AbstractEntity  {    private string _firstName;    private string _lastName;    private string _phone;    public Customer(string id, string firstName, string lastName, string phone): base(id)    {       _firstName = firstName;       _lastName = lastName;       _phone = phone;    }    public string FirstName    {       get { return _firstName; }       set { _firstName = value; }    }    public string LastName    {       get { return _lastName; }       set { _lastName = value; }    }    public string Phone    {       get { return _phone; }       set { _phone = value; }    }    public string Name    {       get { return LastName + ", " + FirstName; }    }    public override bool IsValid    {       get       {          if (Id.Length > 0 && LastName.Length > 0)             return true;          else             return false;       }    }    public override string ToString()    {       return Id + "," + Name + "," + Phone;     } }