Inicio / Wikis / Tutoriales / Crear una colección de elementos personalizada con C# - Crear una colección de elementos personalizada con C#

Crear una colección de elementos personalizada con C# - Crear una colección de elementos personalizada con C#

27 de Abril de 2006
Microsoft .Net

1 - Crear una colección de elementos personalizada con C#

Esta clase dispone de un ArrayList interno accesible mediante InnerList que es el que se utiliza para almacenar la información, aunque podemos utilizar otro tipo de datos si lo necesitamos. Dispone también de una forma de acceder a la lista de elementos mediante otra propiedad de nombre List. Si utilizamos esta forma de acceso al ArrayList interno dispondremos de la ventaja de que List genera eventos cuando se añaden o eliminan datos y podremos crear métodos que realicen comprobaciones sobre estos datos.

A continuación se muestra un ejemplo de colección personalizada para almacenar un tipo externo de nombre FacturaLinea, perteneciente al namespace Eslomas.Ejemplos.

using Eslomas.Ejemplos;
public class FacturaLineaCollection : CollectionBase {

Para acceder a los elementos mediante []
public FacturaLinea this[int index]{get{return((FacturaLinea)List[index]);}set{List[index]=value;}}

public int Add(FacturaLinea value){
return( List.Add( value ) );
}

public int IndexOf(FacturaLinea value){
return( List.IndexOf( value ) );
}

public void Insert(int index, FacturaLinea value){
List.Insert( index, value );
}

public void Remove(FacturaLinea value){
List.Remove( value );
}

public bool Contains(FacturaLinea value){
return( List.Contains( value ) );
}


Utilizamos List para acceder a la colección interna, por lo que es necesario
que sobrecarguemos los siguientes métodos que se encargan de comprobar
los datos que llegan


protected override void OnInsert(int index, Object value){
if (value.GetType() != Type.GetType("Eslomas.Ejemplos.FacturaLinea"))
throw new ArgumentException("value must be of type FacturaLinea.", "value");
}

protected override void OnRemove( int index, Object value ) {
if ( value.GetType() != Type.GetType("Eslomas.Ejemplos.FacturaLinea") )
throw new ArgumentException( "value must be of type FacturaLinea.", "value" );
}

protected override void OnSet( int index, Object oldValue, Object newValue ) {
if ( newValue.GetType() != Type.GetType("EsLoMas.Ejemplos.FacturaLinea") )
throw new ArgumentException( "newValue must be of type FacturaLinea.", "newValue" );
}

protected override void OnValidate( Object value ) {
if ( value.GetType() != Type.GetType("Eslomas.Ejemplos.FacturaLinea") )
throw new ArgumentException( "value must be of type FacturaLinea." );
}
}
Valora este capítulo:
Autor y licencia de 'Crear una colección de elementos personalizada con C# - Crear una colección de elementos personalizada con C#'
Patxi Echarte Extraído de: http://www.eslomas.com/index.php/archives/2005/04/20/coleccion-elementos-personalizada-csharp/

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
De forma general todos los contenidos de este web están sujetos a una licencia del tipo Creative Commons “Algunos derechos reservados”. Salvo que se diga lo contrario la única restricción impuesta si quieres utilizar algo de lo que aparece en este web, es la de indicar que el autor soy yo, Patxi Echarte.
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Opiniona sobre 'Crear una colección de elementos personalizada con C# - Crear una colección de elementos personalizada con C#' (0)

Tu nombre debe tener tres caracteres como mínimo.
Es necesario que te des de alta con una cuenta de correo válida.
Es necesario que te des de alta con una cuenta de correo válida.
El contenido del título de tu opinión debe tener tres caracteres como mínimo.
Es obligatorio que selecciones una valoración del recurso.
El contenido del comentario de tu opinión debe tener tres caracteres como mínimo.

Opina sobre este tutorial



* Valoración:
* Nombre:
* Correo electrónico:
* Título:
* Comentario:

Wikis relacionados con 'Crear una colección de elementos personalizada con C# - Crear una colección de elementos personalizada con C#'

Todo aquel que aspira marcar una diferencia positiva en el ámbito de los negocios, la... Más »
La organización funcional y burocratizada ha utilizado el conocimiento para codificarlo en procedimientos y rutinas,... Más »
El precio es el único elemento de combinacion mercantil que genera ganancias, los otros elementos... Más »
UML (Unified Modeling Language) es un lenguaje que permite modelar, construir y documentar los elementos... Más »
Esta tecnologia permite posicionamiento dinamico de elementos, y es la extension natural de la idea... Más »
¿Estás seguro de que deseas eliminar este capítulo?