Tengo este objeto:
IEnumerable<string> m_oEnum = null;
y me gustaría inicializarlo. Probado con
IEnumerable<string> m_oEnum = new IEnumerable<string>() { "1", "2", "3"};
pero dice "IEnumerable no contiene un método para agregar una cadena. ¿Alguna idea? Gracias
IEnumerable<T>
es una interfaz. Necesitas iniciar con un tipo concreto (que implementeIEnumerable<T>
). Ejemplo:fuente
Como
string[]
implementa IEnumerablefuente
IEnumerable
es solo una interfaz y, por lo tanto, no se puede instanciar directamente.Necesitas crear una clase concreta (como una
List
)luego puede pasar esto a cualquier cosa que espere un
IEnumerable
.fuente
fuente
No puede crear una instancia de una interfaz; debe proporcionar una implementación concreta de IEnumerable.
fuente
Puede crear un método estático que devolverá el IEnumerable deseado como este:
Alternativamente, haz lo siguiente:
fuente
IEnumerable es una interfaz, en lugar de buscar cómo crear una instancia de interfaz, cree una implementación que coincida con la interfaz: cree una lista o una matriz.
fuente