En muchos de nuestros proyectos, he visto algunas clases personalizadas de colección/contenedor que contienen algún tipo de colección genérica, p. una clase List(of T)
.¿Cuándo debería usar IEnumerable y GetEnumerator?
Por lo general, tienen un método GetXXX que devuelve un IEnumerable de cualquier tipo que use la clase de colección personalizada para que la colección interna se pueda iterar utilizando un bucle foreach.
p. Ej.
public IEnumerable<UploadState> GetStates
{
get
{
return new List<UploadState>(m_states);
}
}
Mi pregunta es que si estas clases en lugar implementar la interfaz IEnumerable
, y llamar a GetEnumerator
en la misma lista.
¿Hay alguna manera preferida, o depende del desarrollador?
¿Qué es el tipo de m_states? Sólo me preguntaba por qué se envuelve por 'nueva lista <>' 'y devuelve como IEnumerable <>' – sll
http://msdn.microsoft.com/en-us/library/system.collections.ienumerable.getenumerator.aspx –