básicamente estoy construyendo una plantilla T4 muy genérica y una de las cosas que necesito hacer es decir imprimir variable.ToString()
. Sin embargo, quiero que evalúe las listas y las haga avanzar y, en su lugar, imprima ListItem.ToString()
. Mi plantilla T4 no sabe qué tipo de variable
será antes de tiempo, por eso es tan genérico.Cómo comprobar si una variable es un IEnumerable de algún tipo
Pero mi código actual que se genera el siguiente aspecto:
if(variable!=null)
if(variable is IEnumerable) //error here
foreach(var item in variable)
Write(item.ToString());
me sale un error de compilación en la línea marcada por "Uso del tipo genérico System.Generic.Collections.IEnumerable requiere argumento de un tipo"
Sin embargo, en realidad no me importa de qué tipo es, solo quiero saber si puedes enfocar la variable. ¿Qué código debería usar en su lugar?
Parece que puede ser la mejor respuesta en realidad. – Earlz
Cambié la respuesta porque terminé usando este método, que en mi opinión es mucho más limpio. – Earlz
Además, para evitar el error Mono mencionado a continuación, tuve que convertir 'variable' a un' objeto' primero. – Earlz