Vision AG

blog visionag = new blog(post);

Ejemplo de Generics en C# 2.0

Posted by Vision AG en mayo , 2007

Vamos a ver una de las nuevas caracteristicas de C# 2.0.

A medida que los proyectos son mas complicados, los desarrolladores necesitamos incrementar de la mejor manera la reutilizacion y personalizacion del Software. Para conseguir una alto nivel de reutilizacion de codigo, los desarrolladores podemos utilizar esta caracteristica llamada Generics.Usando Generics, podemos crear clases templates que soporten cualquier tipo. Cuando instanciamos la clase, especificamos el tipo que queremos usar, y desde este punto, nuestro objeto es creado para el tipo que nostros elejimos.

Veamos un ejemplo de como crear una clase generica en C# 2.0

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;namespace PruebaGenerics

{

    public class MyCustomList<MYTYPE>

    {
        private ArrayList _mList= new ArrayList();

        public MYTYPE this[int index]
        {
            get
            {
                return (MYTYPE)_mList[index];
            }
            set
            {
                _mList[index] = value;
            }
        }

        public int Add(MYTYPE value)
        {
            return _mList.Add(value);
        }
        public void Remove(MYTYPE value)
        {
            _mList.Remove(value);
        }
    }
}

Aqui, MyCustomList es creada en un ArrayList. Pero estos metodos e indexaciones son fuertemente tipeadas, <MYTYPE> es un contenedor para cualquier tipo que tu elijas cuando tu creas la clase. Este contenedor es definido entre signos “< >” despues del nombre de la clase. Ahora vemos como crear una instancia de la clase MyCustomList.

using System;
using System.Collections.Generic;
using System.Text;
using PruebaGenerics;namespace GenericsConsole

{

 class Program
 {
  static void Main(string[] args)
  {
   MyCustomList<int> lEnteros = new MyCustomList<int>();
   lEnteros.Add(23);
   Console.WriteLine("lista con entero: "+lEnteros[0]);

   MyCustomList<string> lString = new MyCustomList<string>();
   lString.Add("Te gusto?");
   Console.WriteLine("lista con string: "+ lString[0]);

   Console.ReadKey();
  }
 }
}

Lo que hice fue agregar un nuevo proyecto de consola a la solucion para probar la clase MyCustomList. Despues hice dos declaraciones de la clase, una instancia para almacenar enteros “lEnteros” y otra para string “lString”, como podemos ver solo le indicamos entre “< > ” el tipo de datos que sera soportado y asi podemos utilizar la misma clase para ambos casos…….

Anuncios

5 comentarios to “Ejemplo de Generics en C# 2.0”

  1. Anónimo said

    Muy bueno!!!

  2. mike said

    Buen inicio, donde puedo encontrar mas informecion

  3. Vision AG said

    Hola mike, mira podes buscar mas informacion en elguille o tambien en la pagina de codeproject, aqui hay muchas cosas interesantes de todo tipo (esta en ingles), Saludos…

  4. Patricia Hernandez said

    Gracias por el tip, solo que tengo un probrema cuando declaro en el using System.Collection. no aparece Generic, que puedo hacer

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: